History log of /openbsd/sys/arch/mips64/mips64/trap.c (Results 1 – 25 of 174)
Revision Date Author Comments
# 949c1c4e 07-Nov-2024 miod <miod@openbsd.org>

Constify strings in symbol-related ddb interfaces, and make the iterator
callback interface a bit simpler.
ok beck@ claudio@ mpi@


# 60ddae46 16-Oct-2024 miod <miod@openbsd.org>

Deliver SIGTRAP, rather than SIGEMT, for trap instructions which are neither
debugger breakpoints nor compiler-generated divide by zero reports.

SIGEMT is a historical curiosity which makes no sense

Deliver SIGTRAP, rather than SIGEMT, for trap instructions which are neither
debugger breakpoints nor compiler-generated divide by zero reports.

SIGEMT is a historical curiosity which makes no sense nowadays except on
PDP-11 and VAX hardware.

Discussed with imp@ and visa@ long ago.

show more ...


# 479c151d 20-Sep-2024 jsg <jsg@openbsd.org>

remove unneeded semicolons; checked by millert@


# 82f13a27 11-Jan-2024 miod <miod@openbsd.org>

Since no system call takes more than 6 arguments, and no more than one
off_t argument, there is no need to process more than 6 arguments on
64-bit platforms and 8 on 32-bit platforms.

Make the sysca

Since no system call takes more than 6 arguments, and no more than one
off_t argument, there is no need to process more than 6 arguments on
64-bit platforms and 8 on 32-bit platforms.

Make the syscall argument gathering code simpler by removing never-used code
to fetch more arguments from the stack, and local argument arrays when pointing
to the trap frame does the job.

ok guenther@ jsing@

show more ...


# cb0f97f9 13-Dec-2023 miod <miod@openbsd.org>

Fix syscall number bounds check computations.


# f62f6972 13-Dec-2023 deraadt <deraadt@openbsd.org>

another syscall(2) removal chunk got lost


# cafeb892 12-Dec-2023 deraadt <deraadt@openbsd.org>

remove support for syscall(2) -- the "indirection system call" because
it is a dangerous alternative entry point for all system calls, and thus
incompatible with the precision system call entry point

remove support for syscall(2) -- the "indirection system call" because
it is a dangerous alternative entry point for all system calls, and thus
incompatible with the precision system call entry point scheme we are
heading towards. This has been a 3-year mission:
First perl needed a code-generated wrapper to fake syscall(2) as a giant
switch table, then all the ports were cleaned with relatively minor fixes,
except for "go". "go" required two fixes -- 1) a framework issue with
old library versions, and 2) like perl, a fake syscall(2) wrapper to
handle ioctl(2) and sysctl(2) because "syscall(SYS_ioctl" occurs all over
the place in the "go" ecosystem because the "go developers" are plan9-loving
unix-hating folk who tried to build an ecosystem without allowing "ioctl".
ok kettenis, jsing, afresh1, sthen

show more ...


# a28bb56f 26-Apr-2023 claudio <claudio@openbsd.org>

Implement dt(4) utrace support on amd64 and i386.

This adds stacktrace_save_utrace() to extract and save the userland stack
which is stubbed out on most archs. alpha and riscv64 do not even implemen

Implement dt(4) utrace support on amd64 and i386.

This adds stacktrace_save_utrace() to extract and save the userland stack
which is stubbed out on most archs. alpha and riscv64 do not even implement
dt(4) and stacktrace_save_at() so the stubs are excluded there.

Additionally add a new ioctl DTIOCGETAUXBASE which allows btrace to
fetch the AUX_BASE vallue from the AUX vector of a process.

OK mpi@ (some time ago) discussed with kettenis@

show more ...


# 60a50f65 11-Feb-2023 deraadt <deraadt@openbsd.org>

__syscall() is no longer neccessary since the system calls which needed
it are now unpadded
ok kettenis guenther


# e2c8dd8b 16-Jan-2023 deraadt <deraadt@openbsd.org>

we spent far too long debugging a weird go library problem (incorrect
arguments to mmap) because it was using syscall(2) and that callpath
is invisible in ktrace. make it visible, it will now show "

we spent far too long debugging a weird go library problem (incorrect
arguments to mmap) because it was using syscall(2) and that callpath
is invisible in ktrace. make it visible, it will now show "(via syscall)"
and such.
ok guenther

show more ...


# 16e66f46 11-Jan-2023 visa <visa@openbsd.org>

Add TLB bypass for instruction emulation

copyinsn() fetches a userland instruction through the direct map.
This lets emulation work with execute-only virtual memory mappings.

OK deraadt@


# 48680f67 10-Jan-2023 miod <miod@openbsd.org>

Enable the fine-grained fault type computation code added in 1.117 on all
mips64 processors, not only Octeon; needed to cope with xonly mappings.


# 27a384f9 18-Nov-2022 deraadt <deraadt@openbsd.org>

mips64 code calls uvm_map_protect() directly, so needs to adapt:
stack growth from setrlimit was never updated to set UVM_ET_STACK on
the entries, so the check-sp-at-system-call check failed. Quite

mips64 code calls uvm_map_protect() directly, so needs to adapt:
stack growth from setrlimit was never updated to set UVM_ET_STACK on
the entries, so the check-sp-at-system-call check failed. Quite strange
it took this long to find this.
ok kettenis

show more ...


# f11c99e6 02-Nov-2022 guenther <guenther@openbsd.org>

Clean up more ancient history: since 2015 the libc stubs for
fork/vfork/__tfork haven't cared about the second return register.
So, stop setting retval[1] in kern_fork.c and stop setting the
second r

Clean up more ancient history: since 2015 the libc stubs for
fork/vfork/__tfork haven't cared about the second return register.
So, stop setting retval[1] in kern_fork.c and stop setting the
second return register in the MD child_return() routines.

With the above, we have no multi-register return values on LP64,
so stop touching that register in the trapframe on those archs.

testing miod@ and aoyama@
ok miod@

show more ...


# 8c7187e8 07-Oct-2022 deraadt <deraadt@openbsd.org>

Add mimmutable(2) system call which locks the permissions (PROT_*) of
memory mappings so they cannot be changed by a later mmap(), mprotect(),
or munmap(), which will error with EPERM instead.
ok ket

Add mimmutable(2) system call which locks the permissions (PROT_*) of
memory mappings so they cannot be changed by a later mmap(), mprotect(),
or munmap(), which will error with EPERM instead.
ok kettenis

show more ...


# fd80a8c4 28-Feb-2022 visa <visa@openbsd.org>

Remove unneeded symbol name lookup.


# 28abd37b 25-Jan-2022 visa <visa@openbsd.org>

Use unguarded loads in stack trace saving

The stack trace saver should see a system state that is not broken.
Therefore use unguarded memory accesses.

However, the unwinder is still haphazard. Term

Use unguarded loads in stack trace saving

The stack trace saver should see a system state that is not broken.
Therefore use unguarded memory accesses.

However, the unwinder is still haphazard. Terminate immediately if
the program counter or stack pointer look inconsistent.

show more ...


# dd91a1c8 21-Jan-2022 visa <visa@openbsd.org>

Limit unwinder symbol search to FUNC symbols

The prolog scanning has to locate the start of the subroutine, not some
local symbol in the middle.

This should reduce cases where unwinding goes astray

Limit unwinder symbol search to FUNC symbols

The prolog scanning has to locate the start of the subroutine, not some
local symbol in the middle.

This should reduce cases where unwinding goes astray.

OK miod@

show more ...


# f231ff59 09-Dec-2021 guenther <guenther@openbsd.org>

We only have one syscall table: inline sysent/SYS_MAXSYSCALL and
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support. Adjust alpha's syscall
check to

We only have one syscall table: inline sysent/SYS_MAXSYSCALL and
SYS_syscall as the nosys() function into the MD syscall entry
routines and the SYSCALL_DEBUG support. Adjust alpha's syscall
check to match the other archs. Also, make sysent const to get it
into .rodata.

With that, 'struct emul' is unused: delete it and all its references

ok millert@

show more ...


# a3258603 24-Oct-2021 visa <visa@openbsd.org>

Unlock top part of UVM fault handler on mips64.

OK mpi@


# bfc185c1 01-May-2021 visa <visa@openbsd.org>

Retire OpenBSD/sgi.

OK deraadt@


# 36fd90dc 11-Mar-2021 jsg <jsg@openbsd.org>

spelling


# 2d10d447 22-Oct-2020 deraadt <deraadt@openbsd.org>

uvm_grow() doesn't need KERNEL_LOCK anymore, and onfault never did.
minor refactorings to narrow KERNEL_LOCK just around uvm_fault()
ok kettenis


# 3e784f98 21-Oct-2020 deraadt <deraadt@openbsd.org>

uvm_grow() now does the vm_maxsaddr check (before locking), so callers don't
need to do it
ok kettenis


# 36c8ae06 20-Oct-2020 visa <visa@openbsd.org>

Add handling for a trap instruction that terminates the process.

OK deraadt@


1234567