summaryrefslogtreecommitdiff
path: root/sys/arch/hppa
AgeCommit message (Collapse)Author
2023-05-06few more typos in the word "register", mainly s/resister/register/.andvar
In one comment I assume that it was meant to be pull-up resistor.
2023-04-28Pass local symbols relocations in both passes and provide the kobj_relocskrll
implementation visibility of these relocations. Currently all implementations resolve local symbol relocations in the first pass and simply skip them in the second. The RISC-V implementation will make use of this visiblity.
2023-03-26fix various typos in documentation, comments and sysctl device description.andvar
mainly aion -> ation and inlude -> include.
2023-02-25Convert some assignments into KASSERTs.skrll
l_md is zeroised by lwp_create with memset(&l2->l_startzero, 0, sizeof(*l2) - offsetof(lwp_t, l_startzero));
2023-02-23hppa: Add missing barriers in cpu_switchto.riastradh
PR kern/57240 Not sure hppa has ever had working MULTIPROCESSOR, so maybe no pullups needed?
2023-02-12Add optoion GENERIC.local include to the end of ~all GENERIC configsabs
This excludes atari, sgimips, evbmips, evbppc, evbsh3, and hpcarm all of which have somewhat specific kernel config file layouts
2023-01-13Avoid 64bit math in the hppa first stage bootloader. Ok chs@martin
2022-11-17Restore backward compatibility of UFS2 with previous NetBSD releases bychs
disabling support in UFS2 for extended attributes (including ACLs). Add a new variant of UFS2 called "UFS2ea" that does support extended attributes. Add new fsck_ffs operations "-c ea" and "-c no-ea" to convert file systems from UFS2 to UFS2ea and vice-versa (both of which delete all existing extended attributes in the process).
2022-10-26ddb/db_active.h: New home for extern db_active.riastradh
This can be included unconditionally, and db_active can then be queried unconditionally; if DDB is not in the kernel, then db_active is a constant zero. Reduces need for #include opt_ddb.h, #ifdef DDB.
2022-10-11fix typos in log messages s/bus_dmamem_create/bus_dmamap_create/ andandvar
s/bus_dmamem_load/bus_dmamap_load/. Inspired by recent similar fixes in OpenBSD.
2022-09-29swwdog(4): Add to GENERIC kernels.riastradh
Plus a handful of others that I'm familiar with. Lots of special- purpose kernels should probably have this too but I'm not going through all the arm, mips, and ppc evaluation board kernels to see which ones are relevant. Omitted from systems I know to be very small: - sun2/GENERIC - dreamcast/GENERIC Feel free to remove it from others that need to be kept smaller. Compile-tested a few of these just in case: - alpha/GENERIC - amd64/GENERIC - evbmips/OCTEON - i386/GENERIC - riscv/GENERIC PR kern/29702
2022-09-29malloc -> kmemskrll
2022-09-29Remove unnecessary include of <sys/malloc.h>.skrll
2022-09-02Remove unnecessary inclusion of <net/netisr.h>.thorpej
2022-08-16Provide pci_intr_setattr (which does nothing atm)skrll
2022-08-16Use designated initializers for hppa_pci_chipset_tag structs.skrll
2022-08-16Trailing whitespaceskrll
2022-08-07UFS/LFS dirhash:simonb
- Enable UFS_DIRHASH if the architecture or kernel model specific config file can use 128MB of RAM or more. - Remove experimental tag from UFS_DIRHASH; it's been with RUMP kernel and by a number of NetBSD developers for years. - Add LFS_DIRHASH if LFS was enabled. - Be somewhat consistent with FS options order.
2022-07-26s/functin/function/ in copy pasted comment.andvar
2022-06-26Decorate the HPPA signal trampoline with the appropriate .cfiskrll
directives to allow exception unwind / backtrace across a signal handler.
2022-06-16Re-reading the PA2.0 Cache Move-In rules tells me we do indeed need toskrll
purge the translations from the TLBs in pmap_procwr. PR/56867: hppa: intermittent SIGSEGV reports in t_ptrace_wait's stepN and setstepN test cases
2022-06-13s/caled/called/ in comments and man page, also few more fixes.andvar
2022-06-09Only report the SSBREAKPOINT break instruction as SIGTRAP/TRAP_TRACE. Allskrll
other break instructions will be reported as SIGTRAP/TRAP_BRKPT This fixes a mistake I made back in 2008. PR/56866: hppa: kernel gets confused between actual breakpoints and single-step breakpoints
2022-06-09Oops... revert commit mistakeskrll
2022-06-09Handle 'NA' (non-access) traps for the lpa and probe instructions. Theskrll
change is inspired by OpenBSD with a bunch of my own, mainly stylistic, changes. Thanks to Tom Lane for the analysis. PR/56118: sporadic app crashes in HPPA -current
2022-06-07Whitespaceskrll
2022-06-06Match up PTRACE_BREAKPOINT_ASM with PTRACE_BREAKPOINT which is theskrll
gdb breakpoint instruction.
2022-06-06Define a PTRACE_ILLEGAL_ASMskrll
2022-06-01delay slot indentationskrll
2022-05-28s/grabing/grabbing/ in comments.andvar
2022-05-28fix various typos in comments, mainly origional->original,andvar
extened->extended, incomming->incoming.
2022-05-26port-hppa/56849: Wacko kernel memory accounting in current/hppaskrll
Two fixes: - Don't include direct mapped memory in pmap statistics - Decrement pmap statistics counts in pmap_kremove
2022-05-23s/controll/control/ in comments.andvar
2022-05-19port-hppa/56837: RAS support is slightly incorrect within hppa kernel, tooskrll
While there isn't a bug here (the tf_iioq_tail handling is correct) apply the change to make the conditional / ras symbols consistent with hppa_ras
2022-05-15Sprinkle some <space><tab> consistencyskrll
2022-05-15harmony.c: expand and correct a couple of commentsgutteridge
2022-05-14Add some special NOPs to help qemu.skrll
thanks to Helge Deller for the heads-up.
2022-05-13port-hppa/56830: RAS support is slightly incorrect on hppaskrll
When searching for RAS use tf_iioq_head without the HPPA_PC_PRIV_MASK bits set.
2022-04-17fix various typos in comments.andvar
2022-04-09hppa: Convert ipiuncs.c to membar_release/acquire.riastradh
2022-04-09sys: Use membar_release/acquire around reference drop.riastradh
This just goes through my recent reference count membar audit and changes membar_exit to membar_release and membar_enter to membar_acquire -- this should make everything cheaper on most CPUs without hurting correctness, because membar_acquire is generally cheaper than membar_enter.
2022-03-30get machine_ledaddr from PDC if we find onemacallan
now USELEDS works on my c360
2022-03-23allow com at dino to actually attachmacallan
2022-03-22bump MSGBUFSIZEmacallan
2022-03-20s/circut/circuit/ and s/circiut/circuit/ in comments and acronyms file.andvar
2022-03-12sys: Membar audit around reference count releases.riastradh
If two threads are using an object that is freed when the reference count goes to zero, we need to ensure that all memory operations related to the object happen before freeing the object. Using an atomic_dec_uint_nv(&refcnt) == 0 ensures that only one thread takes responsibility for freeing, but it's not enough to ensure that the other thread's memory operations happen before the freeing. Consider: Thread A Thread B obj->foo = 42; obj->baz = 73; mumble(&obj->bar); grumble(&obj->quux); /* membar_exit(); */ /* membar_exit(); */ atomic_dec -- not last atomic_dec -- last /* membar_enter(); */ KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj); The memory barriers ensure that obj->foo = 42; mumble(&obj->bar); in thread A happens before KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj); in thread B. Without them, this ordering is not guaranteed. So in general it is necessary to do membar_exit(); if (atomic_dec_uint_nv(&obj->refcnt) != 0) return; membar_enter(); to release a reference, for the `last one out hit the lights' style of reference counting. (This is in contrast to the style where one thread blocks new references and then waits under a lock for existing ones to drain with a condvar -- no membar needed thanks to mutex(9).) I searched for atomic_dec to find all these. Obviously we ought to have a better abstraction for this because there's so much copypasta. This is a stop-gap measure to fix actual bugs until we have that. It would be nice if an abstraction could gracefully handle the different styles of reference counting in use -- some years ago I drafted an API for this, but making it cover everything got a little out of hand (particularly with struct vnode::v_usecount) and I ended up setting it aside to work on psref/localcount instead for better scalability. I got bored of adding #ifdef __HAVE_ATOMIC_AS_MEMBAR everywhere, so I only put it on things that look performance-critical on 5sec review. We should really adopt membar_enter_preatomic/membar_exit_postatomic or something (except they are applicable only to atomic r/m/w, not to atomic_load/store_*, making the naming annoying) and get rid of all the ifdefs.
2022-02-26unmask interrupt bits leading to other interrupt registersmacallan
now hardware interrupts actually fire instead of being found pending by the timer interrupt with this SCSI throughput on my c360 is what you'd expect from an UW esiop
2022-02-24whitespaceskrll
2022-02-14hppa: Membar audit in cpu.c.riastradh
2022-02-13hppa: __cpu_simple_lock membar audit.riastradh
ok skrll