// Copyright 2016 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

//go:build linux && (mips || mipsle || mips64 || mips64le || mips64p32 || mips64p32le)

package syscall

import "unsafe"

func (r *PtraceRegs) PC() uint64 {
	return r.Cp0_epc
}

func (r *PtraceRegs) SetPC(pc uint64) {
	r.Cp0_epc = pc
}

func PtraceGetRegs(pid int, regsout *PtraceRegs) (err error) {
	return ptrace(PTRACE_GETREGS, pid, 0, uintptr(unsafe.Pointer(regsout)))
}

func PtraceSetRegs(pid int, regs *PtraceRegs) (err error) {
	return ptrace(PTRACE_SETREGS, pid, 0, uintptr(unsafe.Pointer(regs)))
}

func rawVforkSyscall(trap, a1 uintptr) (r1 uintptr, err Errno)