History log of /openbsd/sys/arch/hppa/hppa/vm_machdep.c (Results 1 – 25 of 85)
Revision Date Author Comments
# 68204e82 25-Oct-2022 guenther <guenther@openbsd.org>

Consistently use 'proc_trampoline' as the name of the trampoline
used by cpu_fork()

ok miod@ kettenis@ mpi@ deraadt@


# 0be467f4 21-May-2022 kettenis <kettenis@openbsd.org>

Convert KVA allocation to km_alloc(9).

ok mpi@


# 69eed90a 16-Jul-2017 guenther <guenther@openbsd.org>

Clear the framepointer (r3) in switch_trampoline to avoid faults in stack trace
Reduce size of switch stack frame to match normal 64byte alignment
Eliminate useless 'osp' variable when setting up ini

Clear the framepointer (r3) in switch_trampoline to avoid faults in stack trace
Reduce size of switch stack frame to match normal 64byte alignment
Eliminate useless 'osp' variable when setting up initial frame in cpu_fork()

ok visa@ kettenis@

show more ...


# 79a514fc 12-Feb-2017 guenther <guenther@openbsd.org>

Split up fork1():
- FORK_THREAD handling is a totally separate function, thread_fork(),
that is only used by sys___tfork() and which loses the flags, func,
arg, and newprocp parameters and gai

Split up fork1():
- FORK_THREAD handling is a totally separate function, thread_fork(),
that is only used by sys___tfork() and which loses the flags, func,
arg, and newprocp parameters and gains tcb parameter to guarantee
the new thread's TCB is set before the creating thread returns
- fork1() loses its stack and tidptr parameters
Common bits factor out:
- struct proc allocation and initialization moves to thread_new()
- maxthread handling moves to fork_check_maxthread()
- setting the new thread running moves to fork_thread_start()
The MD cpu_fork() function swaps its unused stacksize parameter for
a tcb parameter.

luna88k testing by aoyama@, alpha testing by dlg@
ok mpi@

show more ...


# 2df12b22 05-May-2015 guenther <guenther@openbsd.org>

emul_native is only used for kernel threads which can't dump core, so
delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump,
and various #includes that are superfluous.

This lea

emul_native is only used for kernel threads which can't dump core, so
delete coredump_trad(), uvm_coredump(), cpu_coredump(), struct md_coredump,
and various #includes that are superfluous.

This leaves compat_linux processes without a coredump callback. If that
ability is desired, someone should update it to use coredump_elf32() and
verify the results...

ok kettenis@

show more ...


# fde894e5 16-Dec-2014 tedu <tedu@openbsd.org>

primary change: move uvm_vnode out of vnode, keeping only a pointer.
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and

primary change: move uvm_vnode out of vnode, keeping only a pointer.
objective: vnode.h doesn't include uvm_extern.h anymore.
followup changes: include uvm_extern.h or lock.h where necessary.
ok and help from deraadt

show more ...


# 1e8cdc2e 16-Nov-2014 deraadt <deraadt@openbsd.org>

Replace a plethora of historical protection options with just
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove

Replace a plethora of historical protection options with just
PROT_NONE, PROT_READ, PROT_WRITE, and PROT_EXEC from mman.h.
PROT_MASK is introduced as the one true way of extracting those bits.
Remove UVM_ADV_* wrapper, using the standard names.
ok doug guenther kettenis

show more ...


# 0d6ad30d 08-Apr-2014 mpi <mpi@openbsd.org>

Less <uvm/uvm.h>


# 50caf0f9 16-Jan-2013 miod <miod@openbsd.org>

cpu_coredump() also needs to invoke vn_rdwr() without IO_NODELOCKED; only
affects a.out binaries' core dumps.


# 16b62b6a 21-Jun-2012 guenther <guenther@openbsd.org>

__tfork() needs to set the stack address of the new thread in the kernel,
so that it can't get a signal while still running on the parent thread's
stack. Also, pass in sizeof(struct __tfork) to prov

__tfork() needs to set the stack address of the new thread in the kernel,
so that it can't get a signal while still running on the parent thread's
stack. Also, pass in sizeof(struct __tfork) to provide forward compat
when more members are added. This is an ABI change, so switch syscall
numbers and bump lib majors this time.

ok deraadt@ matthew@

show more ...


# b5861ab6 20-Sep-2011 miod <miod@openbsd.org>

calee -> callee


# 2f8e4113 01-Jul-2010 jsing <jsing@openbsd.org>

Create a struct to store FP state and include a pointer to the CPU that
currently holds the FPU context for this process. This will be soon used
to implement FPU shootdowns on multiprocessor kernels.

Create a struct to store FP state and include a pointer to the CPU that
currently holds the FPU context for this process. This will be soon used
to implement FPU shootdowns on multiprocessor kernels.

ok kettenis@

show more ...


# a786d415 29-Jun-2010 jsing <jsing@openbsd.org>

Ansify function declarations.

ok kettenis@


# 41f648c2 29-Jun-2010 jsing <jsing@openbsd.org>

Factor out code used to save and flushe process FPU context.

ok kettenis@


# 2e94a5f6 29-Jun-2010 jsing <jsing@openbsd.org>

Store pointer to process FPU state in struct cpu_info.

ok kettenis@


# 6b0bfd4a 02-May-2010 kettenis <kettenis@openbsd.org>

Properly initialize the members of `struct mdproc' that deal with
single-stepping when we fork and reset them upon exec.

ok miod@


# 00532b01 19-Apr-2010 jsing <jsing@openbsd.org>

Make the Processor Status Word (PSW) a per-CPU value.

ok kettenis@


# 77f7fc32 29-Jul-2009 kettenis <kettenis@openbsd.org>

Get rid of non-equivalent aliases of the pcb by moving the fpu state out
of the pcb and using the p_addr member of 'struct proc' to calculate the
address of the kernel stack when switching to virtual

Get rid of non-equivalent aliases of the pcb by moving the fpu state out
of the pcb and using the p_addr member of 'struct proc' to calculate the
address of the kernel stack when switching to virtual mode after taking a trap.
Remove the now unecessary cache flushes; they're actually harmful since they
create non-equivalent aliases. This seems to fix the memory corruption we
have been observing from time to time.

This diff does not rename fpu_curpcb, which is now somewhat incorrectly named.
I hope to change things back again as soon as we are able to map the pcb 1:1.

show more ...


# 3305e6ef 26-Jun-2009 miod <miod@openbsd.org>

Prefer fdcache() to pdcache() in cpu_fork(), as the MI uvm code has touched
p->p_stats earlier, and loss of information there can cause spurious
SIGPROF or SIGVTALRM to be delivered. ok kettenis@


# 73686733 11-Jun-2009 kettenis <kettenis@openbsd.org>

Correctly flush direct mappings (cache/tlb). Uncovered by ariane's new
allocator.


# 725ea000 26-Mar-2009 oga <oga@openbsd.org>

Remove cpu_wait(). It's original use was to be called from the reaper so
MD code would free resources that couldn't be freed until we were no
longer running in that processor. However, it's is unused

Remove cpu_wait(). It's original use was to be called from the reaper so
MD code would free resources that couldn't be freed until we were no
longer running in that processor. However, it's is unused on all
architectures since mikeb@'s tss changes on x86 earlier in the year.

ok miod@

show more ...


# beab8d6b 30-Sep-2008 miod <miod@openbsd.org>

Do not perform cache operations in vmapbuf(), pmap is supposed to do them
for us if needed.

ok art@ kettenis@


# 937d80b4 14-Jul-2008 miod <miod@openbsd.org>

Be sure to propagate PSL_O in psw on PCXU* processors to userland processes
and signal handlers.
ok kettenis@


# 45053f4a 10-Oct-2007 art <art@openbsd.org>

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run q

Make context switching much more MI:
- Move the functionality of choosing a process from cpu_switch into
a much simpler function: cpu_switchto. Instead of having the locore
code walk the run queues, let the MI code choose the process we
want to run and only implement the context switching itself in MD
code.
- Let MD context switching run without worrying about spls or locks.
- Instead of having the idle loop implemented with special contexts
in MD code, implement one idle proc for each cpu. make the idle
loop MI with MD hooks.
- Change the proc lists from the old style vax queues to TAILQs.
- Change the sleep queue from vax queues to TAILQs. This makes
wakeup() go from O(n^2) to O(n)

there will be some MD fallout, but it will be fixed shortly.
There's also a few cleanups to be done after this.

deraadt@, kettenis@ ok

show more ...


# d754d5af 20-Jun-2007 miod <miod@openbsd.org>

In vunmapbuf(), explicitely remove mappings before invoking uvm_km_free().
Even if the latter would end up removing the mappings by itself, it would
do so using pmap_remove() because phys_map is not

In vunmapbuf(), explicitely remove mappings before invoking uvm_km_free().
Even if the latter would end up removing the mappings by itself, it would
do so using pmap_remove() because phys_map is not intrsafe; but some
platforms use pmap_kenter_pa() in vmapbuf(). By removing the mappings
ourselves, we can ensure the remove function used matches the enter function
which has been used.
Discussed and theoretical ok art@

show more ...


1234