History log of /src/sys/arch/sparc64/include/psl.h |
Revision | | Date | Author | Comments |
1.66 |
| 20-May-2025 |
macallan | provide splsoftbio()
|
1.65 |
| 07-Apr-2024 |
rillig | branches: 1.65.2; sparc: fix typos and omissions in PSTATE_BITS and ECC_AFR_BITS
Fixes PR 57869.
|
1.64 |
| 02-Sep-2023 |
jdc | sparc64: fix interrupt level mapping for disk and and parallel devices on SBUS-based machines Change the mapping from PIL_SCSI to PIL_BIO, so that they interrupt above the highest soft interrupt (softserial) Remove unused PIL_SCSI, PIL_FDSOFT, PIL_AUSOFT and fix the printf in fdc.c Add "socal" and "SUNW,bpp" to the interrupt map.
|
1.63 |
| 11-Jul-2023 |
martin | Move the definition of ipl_cookie_t out of the kernel-only sections, some _KMEMUSER applications need it.
|
1.62 |
| 02-Nov-2021 |
ryo | branches: 1.62.4; In order to prevent _mcount() from being recursively called when built with COPTS=-O0, sprinkle `__always_inline' to make _mcount() be generated as a single function.
|
1.61 |
| 13-Nov-2019 |
nakayama | Revert workarounds for clang. In-tree clang can now handle the "r" asm constraint for 64-bit values properly.
|
1.60 |
| 06-Apr-2019 |
nakayama | The real cause for removing asm inline code on clang is that the "r" constraint cannot handle 64-bit and is treated as 32-bit.
So code that refers to the upper 32-bit (manuf or impl) of the %ver register is removed by optimization.
Use 32-bit kernel code as a workaround when referring to the %ver register.
|
1.59 |
| 05-Apr-2019 |
nakayama | Put "memory" to asm inline reading privilege registers for clang to prevent it from being removed by excessive optimization.
|
1.58 |
| 08-Feb-2019 |
palle | Introduce getstickcmpr() function
|
1.57 |
| 18-May-2016 |
nakayama | branches: 1.57.18; Fix (unused) pstate mask bits in tstate and comment.
|
1.56 |
| 25-Dec-2014 |
nakayama | Put "memory" to asm inline for reading privilege registers on sun4v to avoid issuing rdpr %ver before checking cputyp as a result of code moving by compiler optimization.
|
1.55 |
| 05-Dec-2014 |
nakayama | Use GETVER_CPU_* macros.
|
1.54 |
| 05-Dec-2014 |
nakayama | Make getver() into a constant function since Version Register (%ver) is read only and its value is constant.
This change reduces multipule %ver reads to one in the functions which uses a number of CPU_IS_* macros.
|
1.53 |
| 18-Aug-2013 |
martin | branches: 1.53.4; 1.53.6; Remove ancient spl* variants no longer used
|
1.52 |
| 09-Nov-2012 |
nakayama | branches: 1.52.2; Make setstick() and getstick() to inline functions.
|
1.51 |
| 08-Nov-2012 |
nakayama | Move ASRs macro to more appropriate header. While there remove useless macro.
|
1.50 |
| 08-Nov-2012 |
macallan | use system tick timer instead of %tick on UltraSPARC-III-ish CPUs review & fixes by Takeshi Nakayama
|
1.49 |
| 12-Jul-2011 |
mrg | branches: 1.49.2; 1.49.8; 1.49.12; rename sparc64 BLOCK_SIZE and BLOCK_ALIGN to have SPARC64_ prefixes. for the assembler files, define the old names to the new names since using the new names cause ugliness due to longer identifer names, and reduces churn.
fixes build issues in dtv and vaguely makes <machine/psl.h> slightly less name-space invasive.
|
1.48 |
| 25-May-2011 |
mrg | define MANUF_FUJITSU (and fix CPU_IS_SPARC64_V_UP()) and MANUF_SUN.
use CPU_IS_SPARC64_V_UP() to choose some US-III versions of some cache functions.
|
1.47 |
| 12-May-2011 |
mrg | first steps towards fujitsu SPARC64 support:
- add IMPL_* defines for fujitsu SPARC64 processors (mostly from openbsd) - rename CPU_IS_JALAPENO() as CPU_IS_USIIIi() - add GETVER_CPU_MANUF() - add CPU_IS_SPITFIRE() and CPU_IS_SPARC64_V_UP()
|
1.46 |
| 01-Feb-2010 |
mrg | branches: 1.46.4; 1.46.6; add some macros to check cpu type: GETVER_CPU_IMPL() CPU_IS_JALAPENO() CPU_IS_USIII_UP() and use them in a couple places to choose the right method/index
|
1.45 |
| 15-Jan-2010 |
nakayama | Add processor implementation codes, from OpenBSD.
|
1.44 |
| 15-Jan-2010 |
nakayama | Add function names defined by macro in comment for reference.
|
1.43 |
| 04-Dec-2009 |
nakayama | Bring together similar definitions of inline functions manipulating privileged registers using macro. no functional change.
|
1.42 |
| 25-Nov-2009 |
rmind | Remove IPL_LPT and IPL_IPI aliases, use the actual IPLs. Fix some broken comments.
|
1.41 |
| 16-May-2009 |
nakayama | - move definition of tick() from ctlreg.h to psl.h and rename to gettick() for consistency with other functions for reading/writing ASRs. - move definition of tl() from trap.c to psl.h as same as above. - define settick() in psl.h and use it in clock.c. - cosmetic chages in psl.h.
|
1.40 |
| 02-Mar-2008 |
nakayama | branches: 1.40.4; Correct TSTATE_KERN and TSTATE_USER macros.
|
1.39 |
| 25-Feb-2008 |
nakayama | Fix macro to convert CCR field between PSR and TSTATE. CCR filed in PSR starts from bit 20, not from bit 19.
|
1.38 |
| 11-Dec-2007 |
martin | branches: 1.38.4; 1.38.8; Make sure the compiler does not reorder stores accross spl...() calls [or, for completeness, calls changing the processor state]. The mutex code has small race windows otherwise.
|
1.37 |
| 03-Dec-2007 |
ad | branches: 1.37.2; 1.37.4; 1.37.6; Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high. - Acquire kernel_lock only for interrupts at IPL_VM. - Implement threaded soft interrupts.
|
1.36 |
| 16-Feb-2007 |
ad | branches: 1.36.6; 1.36.22; 1.36.24; 1.36.30; Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts via a soft interrupt. In the near future, softclock will be run from process context.
|
1.35 |
| 26-Dec-2006 |
ad | Define ipl_t as uint8_t so that it can be packed into a word with a lock byte. Ok yamt@.
|
1.34 |
| 21-Dec-2006 |
yamt | merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
1.33 |
| 04-May-2006 |
yamt | branches: 1.33.8; 1.33.10; pull splraiseipl() for sparc64 from newlock branch. reviewed by Martin Husemann.
|
1.32 |
| 20-Feb-2006 |
cdi | branches: 1.32.2; 1.32.4; 1.32.6; Use ANSI-style function definitions and declarations.
|
1.31 |
| 16-Feb-2006 |
perry | Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
1.30 |
| 24-Dec-2005 |
perry | branches: 1.30.2; 1.30.4; 1.30.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
1.29 |
| 11-Dec-2005 |
christos | merge ktrace-lwp.
|
1.28 |
| 19-Jun-2005 |
thorpej | branches: 1.28.2; Small clean-ups before an overhaul.
|
1.27 |
| 27-Jan-2005 |
martin | Remove orphaned extern declaration.
|
1.26 |
| 14-Mar-2004 |
chs | branches: 1.26.8; 1.26.10; checkpoint of MP work from dennis and myself. includes cross-processor interrupt framework, a sledgehammer TLB invalidation and misc MP fixes. doesn't work at all yet.
|
1.25 |
| 15-Nov-2003 |
petrov | Compile GENERIC.MP.
|
1.24 |
| 09-Nov-2003 |
petrov | Lower PIL_AUD so /dev/audio will not interrupt and interfere with scheduler. Fixes kern/23382.
|
1.23 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.22 |
| 22-Mar-2003 |
nakayama | branches: 1.22.2; PCI-CardBus bridge support for sparc64: - add splsoftserial.
|
1.21 |
| 29-Sep-2002 |
chs | avoid reading %pil in splx() if !SPLDEBUG. misc tidiness.
|
1.20 |
| 13-Apr-2001 |
thorpej | branches: 1.20.2; 1.20.8; 1.20.12; 1.20.18; Remove the use of splimp() from the NetBSD kernel. splnet() and only splnet() is allowed for the protection of data structures used by network devices.
|
1.19 |
| 02-Mar-2001 |
mrg | branches: 1.19.2; clean up slightly.
|
1.18 |
| 14-Jan-2001 |
thorpej | Make sure everybody has an splvm() and equate it with splimp() (splimp() is the historical name for this interrupt level, and the historical name is going to go away in the near future).
|
1.17 |
| 29-Dec-2000 |
eeh | Lower PIL_SCHED below the zs interrupt so we don't get silo overflows.
|
1.16 |
| 23-Aug-2000 |
eeh | Update the scheduler to the new locking scheme.
|
1.15 |
| 22-Aug-2000 |
thorpej | Add spllock(). See spl(9) for details.
|
1.14 |
| 21-Aug-2000 |
thorpej | Make sure we provide splsched() as described in spl(9).
|
1.13 |
| 23-Jul-2000 |
eeh | Give 64-bit processes access to a full 64-bit address space (90% of which they can't use anyway, but that's another issue.)
|
1.12 |
| 09-Jul-2000 |
eeh | Use TSO memory model for 32-bit userland.
|
1.11 |
| 05-Aug-1999 |
thorpej | branches: 1.11.2; 1.11.12; Fix the raise/lower semantics of splsoftclock()/spllowersoftclock().
|
1.10 |
| 05-Aug-1999 |
thorpej | Change the semantics of splsoftclock() to be like other spl*() functions, that is priority is rasied. Add a new spllowersoftclock() to provide the atomic drop-to-softclock semantics that the old splsoftclock() provided, and update calls accordingly.
This fixes a problem with using the "rnd" pseudo-device from within interrupt context to extract random data (e.g. from within the softnet interrupt) where doing so would incorrectly unblock interrupts (causing all sorts of lossage).
XXX 4 platforms do not have priority-raising capability: newsmips, sparc, XXX sparc64, and VAX. This platforms still have this bug until their XXX spl*() functions are fixed.
|
1.9 |
| 18-Jul-1999 |
eeh | Lower spl for softints.
|
1.8 |
| 05-Jun-1999 |
eeh | Fix things up so they compile again.
|
1.7 |
| 26-Mar-1999 |
eeh | branches: 1.7.4; COMPAT_SPARC32 -> COMPAT_NETBSD32
|
1.6 |
| 31-Jan-1999 |
mrg | retire _LP64; use compiler provided __arch64__, but still defined _LP64 where we used to anyway.
|
1.5 |
| 05-Sep-1998 |
eeh | It slices. It dices. It does everything except exec a sparc32_compat init.
|
1.4 |
| 30-Aug-1998 |
eeh | Some more 64-bit cleanup. Now everything compiles.
|
1.3 |
| 28-Jul-1998 |
eeh | That last change to reduce warnings wasn't quite right.
|
1.2 |
| 27-Jul-1998 |
mrg | don't provide a static splx prototype if SPLDEBUG. avoids warnings...
|
1.1 |
| 20-Jun-1998 |
eeh | branches: 1.1.1; Initial revision
|
1.1.1.1 |
| 20-Jun-1998 |
eeh | Import of sparc64.
|
1.7.4.2 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.7.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.11.12.2 |
| 31-Jul-2000 |
mrg | pull up 1.13 (approved by thorpej): >Give 64-bit processes access to a full 64-bit address space (90% of which >they can't use anyway, but that's another issue.)
|
1.11.12.1 |
| 18-Jul-2000 |
mrg | pullup the contents of -current arch/sparc64. this gives us significant ultrasparc PCI support (ultra5, ultra10, AXi, and E250 tested so far), plus many other small fixes. netbooting is now supported.
|
1.11.2.5 |
| 21-Apr-2001 |
bouyer | Sync with HEAD
|
1.11.2.4 |
| 12-Mar-2001 |
bouyer | Sync with HEAD.
|
1.11.2.3 |
| 18-Jan-2001 |
bouyer | Sync with head (for UBC+NFS fixes, mostly).
|
1.11.2.2 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.11.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago A i386 GENERIC kernel compiles without the siop, ahc and bha drivers (will be updated later). i386 IDE/ATAPI and ncr work, as well as sparc/esp_sbus. alpha should work as well (untested yet). siop, ahc and bha will be updated once I've updated the branch to current -current, as well as machine-dependant code.
|
1.19.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.20.18.1 |
| 14-Nov-2003 |
jmc | Pullup rev 1.24 (requested by petrov in ticket #1559)
Lower PIL_AUD so /dev/audio will not interrupt and interfere with scheduler. Fixes PR#23382
|
1.20.12.1 |
| 19-Mar-2002 |
thorpej | Implement splraiseipl(), as used by the new mutex code.
|
1.20.8.2 |
| 18-Oct-2002 |
nathanw | Catch up to -current.
|
1.20.8.1 |
| 13-Apr-2001 |
nathanw | file psl.h was added on branch nathanw_sa on 2002-10-18 02:40:06 +0000
|
1.20.2.1 |
| 10-Oct-2002 |
jdolecek | sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
|
1.22.2.5 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.22.2.4 |
| 04-Feb-2005 |
skrll | Sync with HEAD.
|
1.22.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.22.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.22.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.26.10.1 |
| 12-Feb-2005 |
yamt | sync with head.
|
1.26.8.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.28.2.7 |
| 17-Mar-2008 |
yamt | sync with head.
|
1.28.2.6 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.28.2.5 |
| 21-Jan-2008 |
yamt | sync with head
|
1.28.2.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.28.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.28.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.28.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.30.6.2 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.30.6.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.30.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.30.2.2 |
| 01-Mar-2006 |
yamt | sync with head.
|
1.30.2.1 |
| 18-Feb-2006 |
yamt | sync with head.
|
1.32.6.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.32.4.1 |
| 11-May-2006 |
elad | sync with head
|
1.32.2.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.33.10.1 |
| 19-Sep-2006 |
yamt | implement new api for sparc64.
|
1.33.8.1 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.36.30.2 |
| 27-Dec-2007 |
mjf | Sync with HEAD.
|
1.36.30.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.36.24.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.36.24.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.36.22.1 |
| 09-Dec-2007 |
jmcneill | Sync with HEAD.
|
1.36.6.1 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.37.6.1 |
| 13-Dec-2007 |
bouyer | Sync with HEAD
|
1.37.4.1 |
| 11-Dec-2007 |
yamt | sync with head.
|
1.37.2.1 |
| 26-Dec-2007 |
ad | Sync with head.
|
1.38.8.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.38.4.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.40.4.2 |
| 11-Mar-2010 |
yamt | sync with head
|
1.40.4.1 |
| 20-Jun-2009 |
yamt | sync with head
|
1.46.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.46.4.1 |
| 31-May-2011 |
rmind | sync with head
|
1.49.12.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.49.12.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.49.12.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.49.8.1 |
| 23-Nov-2012 |
riz | Pull up following revision(s) (requested by macallan in ticket #695): sys/arch/sparc64/include/cpu.h: revision 1.99 sys/arch/sparc64/sparc64/cpu.c: revision 1.103 sys/arch/sparc64/include/psl.h: revision 1.50 sys/arch/sparc64/sparc64/clock.c: revision 1.107 sys/arch/sparc64/include/ctlreg.h: revision 1.57 sys/arch/sparc64/sparc64/locore.s: revision 1.342 use system tick timer instead of %tick on UltraSPARC-III-ish CPUs review & fixes by Takeshi Nakayama
|
1.49.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.49.2.1 |
| 16-Jan-2013 |
yamt | sync with (a bit old) head
|
1.52.2.1 |
| 28-Aug-2013 |
rmind | sync with head
|
1.53.6.2 |
| 29-May-2016 |
skrll | Sync with HEAD
|
1.53.6.1 |
| 06-Apr-2015 |
skrll | Sync with HEAD
|
1.53.4.1 |
| 13-Dec-2014 |
martin | Pull up following revision(s) (requested by nakayama in ticket #318): sys/arch/sparc64/include/psl.h: revision 1.54 sys/arch/sparc64/include/psl.h: revision 1.55 sys/arch/sparc64/sparc64/cpu.c: revision 1.121 Make getver() into a constant function since Version Register (%ver) is read only and its value is constant. This change reduces multipule %ver reads to one in the functions which uses a number of CPU_IS_* macros. Use GETVER_CPU_* macros.
|
1.57.18.2 |
| 13-Apr-2020 |
martin | Mostly merge changes from HEAD upto 20200411
|
1.57.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.62.4.3 |
| 28-May-2025 |
martin | Pull up following revision(s) (requested by bouyer in ticket #1121):
sys/arch/ia64/include/intr.h: revision 1.9 sys/uvm/uvm_pdpolicy_clock.c: revision 1.41 sys/sys/spl.h: revision 1.11 sys/uvm/uvm_pdpolicy_clock.c: revision 1.42 sys/arch/sparc64/include/psl.h: revision 1.66
uvmpdpol_pagerealize(): ucpu->pdqhead is used by a single CPU; but
kpreempt_disable() isn't enough to guard against concurent access; interrupts also need to be disabled.
If my analysis is correct, the only place using ucpu->pdqhead which can be called from interrupt context it uvmpdpol_pagerealize(), and only from softbio().
So: - introduce splsoftbio() in sys/spl.h - protect all accesses to ucpu->pdqhead with splsoftbio() fixes pr kern/59412: uvmpdpol_pagerealize() queue index out of bound
Provide splsoftbio()
Remove the redundant kpreempt_disable/kpreempt_enable now that we're running at splsoftbio. Pointed out by thorpej@
|
1.62.4.2 |
| 09-Sep-2023 |
martin | Pull up following revision(s) (requested by jdc in ticket #360):
sys/arch/sparc64/dev/fdc.c: revision 1.52 sys/arch/sparc64/include/intr.h: revision 1.32 sys/arch/sparc64/sparc64/autoconf.c: revision 1.239 sys/arch/sparc64/include/psl.h: revision 1.64
sparc64: fix interrupt level mapping for disk and and parallel devices on SBUS-based machines
Change the mapping from PIL_SCSI to PIL_BIO, so that they interrupt above the highest soft interrupt (softserial)
Remove unused PIL_SCSI, PIL_FDSOFT, PIL_AUSOFT and fix the printf in fdc.c
Add "socal" and "SUNW,bpp" to the interrupt map.
|
1.62.4.1 |
| 09-Aug-2023 |
martin | Pull up following revision(s) (requested by maya in ticket #316):
sys/arch/m68k/include/mutex.h: revision 1.13 sys/arch/arm/include/cpu.h: revision 1.125 sys/arch/sun68k/include/intr.h: revision 1.21 sys/arch/arm/include/mutex.h: revision 1.28 sys/sys/rwlock.h: revision 1.18 sys/arch/powerpc/include/mutex.h: revision 1.7 sys/arch/arm/include/mutex.h: revision 1.29 sys/arch/powerpc/include/mutex.h: revision 1.8 sys/uvm/uvm_param.h: revision 1.42 sys/sys/ksem.h: revision 1.16 sys/arch/x86/include/mutex.h: revision 1.10 sys/sys/proc.h: revision 1.372 sys/sys/ksem.h: revision 1.17 sys/arch/ia64/include/mutex.h: revision 1.8 sys/arch/evbarm/include/intr.h: revision 1.29 sys/sys/lua.h: revision 1.9 sys/arch/next68k/include/intr.h: revision 1.23 sys/arch/ia64/include/mutex.h: revision 1.9 sys/arch/hp300/include/intr.h: revision 1.35 sys/arch/hp300/include/intr.h: revision 1.36 sys/arch/sparc/include/cpu.h: revision 1.111 sys/arch/hppa/include/mutex.h: revision 1.16 sys/arch/vax/include/intr.h: revision 1.31 sys/arch/hppa/include/mutex.h: revision 1.17 sys/arch/news68k/include/intr.h: revision 1.28 sys/arch/hppa/include/mutex.h: revision 1.18 sys/arch/hppa/include/intr.h: revision 1.3 sys/arch/hppa/include/mutex.h: revision 1.19 sys/arch/hppa/include/intr.h: revision 1.4 sys/sys/sched.h: revision 1.92 sys/opencrypto/cryptodev.h: revision 1.51 sys/arch/vax/include/mutex.h: revision 1.20 sys/arch/sparc64/include/mutex.h: revision 1.10 sys/arch/ia64/include/sapicvar.h: revision 1.2 sys/arch/riscv/include/mutex.h: revision 1.5 sys/arch/amiga/dev/grfabs_cc.c: revision 1.39 sys/external/bsd/drm2/include/linux/idr.h: revision 1.11 sys/arch/riscv/include/mutex.h: revision 1.6 sys/ddb/files.ddb: revision 1.16 sys/arch/mac68k/include/intr.h: revision 1.32 share/man/man4/ddb.4: revision 1.203 sys/ddb/db_command.c: revision 1.183 sys/arch/mips/include/mutex.h: revision 1.10 sys/ddb/db_command.c: revision 1.184 sys/arch/x68k/include/intr.h: revision 1.22 sys/arch/sparc/include/psl.h: revision 1.51 sys/arch/or1k/include/mutex.h: revision 1.4 sys/arch/mips/include/mutex.h: revision 1.11 sys/arch/arm/xscale/pxa2x0_intr.h: revision 1.16 sys/arch/sparc64/include/cpu.h: revision 1.134 sys/arch/sparc/include/psl.h: revision 1.52 sys/arch/or1k/include/mutex.h: revision 1.5 sys/arch/mvme68k/include/intr.h: revision 1.22 sys/arch/luna68k/include/intr.h: revision 1.16 external/cddl/osnet/sys/sys/kcondvar.h: revision 1.6 sys/arch/sparc/include/mutex.h: revision 1.12 sys/arch/sparc/include/mutex.h: revision 1.13 sys/arch/usermode/include/mutex.h: revision 1.5 sys/arch/usermode/include/mutex.h: revision 1.6 sys/kern/kern_core.c: revision 1.38 usr.sbin/crash/Makefile: revision 1.49 sys/arch/amiga/include/intr.h: revision 1.23 sys/arch/alpha/include/mutex.h: revision 1.12 sys/arch/alpha/include/mutex.h: revision 1.13 sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.16 sys/ddb/ddb.h: revision 1.6 sys/arch/sparc64/include/mutex.h: revision 1.8 sys/arch/sh3/include/mutex.h: revision 1.12 sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.17 sys/ddb/db_syncobj.c: revision 1.1 sys/arch/vax/include/mutex.h: revision 1.18 sys/arch/sparc64/include/psl.h: revision 1.63 sys/arch/sparc64/include/mutex.h: revision 1.9 sys/arch/sh3/include/mutex.h: revision 1.13 sys/arch/evbarm/lubbock/obio.c: revision 1.13 sys/arch/atari/include/intr.h: revision 1.23 sys/ddb/db_syncobj.c: revision 1.2 sys/arch/vax/include/mutex.h: revision 1.19 sys/arch/evbarm/g42xxeb/obio.c: revision 1.14 sys/arch/evbarm/g42xxeb/obio.c: revision 1.15 sys/arch/cesfic/include/intr.h: revision 1.14 sys/ddb/db_syncobj.h: revision 1.1 sys/arch/x86/include/cpu.h: revision 1.134 sys/arch/evbarm/g42xxeb/obio.c: revision 1.16 sys/arch/cesfic/include/intr.h: revision 1.15 sys/arch/arm/xscale/pxa2x0_intr.c: revision 1.26 sys/sys/cpu_data.h: revision 1.54 sys/arch/m68k/include/mutex.h: revision 1.12 sys/arch/ia64/acpi/madt.c: revision 1.6
sys/rwlock.h: Make this more self-contained for bool.
machine/mutex.h: Sprinkle includes so this can be used by crash(8).
ddb: New `show all tstiles' command. Shows who's waiting for which locks and what the owner is up to.
Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE
sys: Rip <sys/resourcevar.h> out of <uvm/uvm_param.h>.
And thus out of <sys/param.h>, which is exceedingly overused and fragile and delenda est.
Should fix (some) issues with the recent inclusion of machine/lock.h in various machine/mutex.h files.
arm/mutex.h: Need machine/intr.h, machine/lock.h.
For ipl_cookie_t and __cpu_simple_lock_t. evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.
Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which should really be fixed. opencrypto/cryptodev.h: Fix includes. - Move sys/condvar.h under #ifdef _KERNEL. - Add some other necessary includes and forward declarations. - Sort.
hp300/intr.h: Fix missing includes. linux/idr.h: Need <sys/mutex.h> for kmutex_t. amiga/intr.h: Don't define spl*() functions if !_KERNEL.
This is used by crash(8) now, and what's important is ipl_cookie_t. cesfic/intr.h: Expose ipl_cookie_t to userland for crash(8). cesfic/intr.h: Expose ipl_cookie_t to userland only with _KMEMUSER.
Probably not necessary but let's be a little more cautious about this.
atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).
arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.
Nix machine/param.h -- not meant to be used directly, pulled in by sys/param.h.
Move the definition of ipl_cookie_t out of the kernel-only sections, some _KMEMUSER applications need it.
ddb: Cast pointer to uintptr_t first before db_expr_t.
hppa/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
luna68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
news68k/intr.h: Fix includes. Put some definitions under _KERNEL.
next68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
sys/ksem.h: Hack around fstat(8) abuse of _KERNEL.
sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
x68k/intr.h: Put functions under _KERNEL so crash(8) can use this.
Make ipl_cookie_t visible for _KMEMUSER userland applications.
fix editor mishap in previous
Explicitly include <sys/mutex.h> for kmutex_t.
Replace kmutex_t * (which may be undefined here) with struct kmutex *, suggested by Taylor.
hp300/intr.h: Put most of this under #ifdef _KERNEL. Only ipl_cookie_t really needs to be exposed now, for crash(8).
mac68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8). Make inclusion of sys/intr.h explicit for spl*.
fix hppa and vax builds.
machine/lock.h isn't necessary for __cpu_simple_lock_t, it's in sys/types.h. avoids cpu_data.h vs sched.h include order issues.
move the hppa ipl_t typedef with the moved usage of it. machine/mutex.h: Sprinkle sys/types.h, omit machine/lock.h.
Turns out machine/lock.h is not needed for __cpu_simple_lock_t, which always comes from sys/types.h. And, really, sys/types.h (or at least sys/stdint.h) is needed for uintN_t and uintptr_t.
ddb: Cast pointer to uintptr_t, then to db_expr_t. Avoids warnings about conversion between pointer and integer of different size on some architectures.
re-fix hppa builds.
this file uses __cpu_simple_lock(), not just the underlying type, so it does need machine/lock.h.
Break cycle by using `struct kmutex *' instead of `kmutex_t *'. sys/sched.h included sys/mutex.h which includes sys/intr.h which includes machine/intr.h which on cats includes arm/footbridge/footbridge_intr.h which includes arm/cpu.h which includes sys/cpu_data.h which includes sys/sched.h
But there was never any real need for sys/mutex.h in sys/sched.h, because it only uses pointers to the opaque struct kmutex. Cycle broken by using `struct kmutex *' instead of pulling in sys/mutex.h for the definition of kmutex_t.
Side effect: This revealed that sys/cpu_data.h needed sys/intr.h (which was pulled in accidentally by sys/mutex.h via sys/sched.h) for SOFTINT_COUNT. Also revealed some other machine/cpu.h header files were missing includes of sys/mutex.h for kmutex_t.
ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t.
explicitly include no longer implicitly included sys/mutex.h.
arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz. Sidesteps namespace collision with `#define bits ...' in net/zlib.c.
complete the previous - there were two calls to find_first_bit() to fix.
arm/xscale: Missed a spot with previous find_first_bit commit.
evbarm/g42xxeb: Fix off-by-one in previous.
The original find_first_bit(x) was 31 - __builtin_clz((uint32_t)x), which is equivalent to fls32(x) - 1, not to fls32(x).
Note that fls32 is 1-based and returns 0 for x=0.
|
1.65.2.1 |
| 02-Aug-2025 |
perseant | Sync with HEAD
|