Home | History | Annotate | Download | only in include
History log of /src/sys/arch/alpha/include/asm.h
RevisionDateAuthorComments
 1.46  09-Jun-2024  riastradh alpha/asm.h: Respect _NETBSD_REVISIONID.
 1.45  23-Feb-2023  riastradh alpha: Add missing barriers in cpu_switchto.

Details in comments.

PR kern/57240

XXX pullup-8
XXX pullup-9
XXX pullup-10
 1.44  04-Sep-2020  thorpej branches: 1.44.20;
Use SysValue to store curlwp rather than curcpu. curlwp is acceessed
much more frequently, and this makes curlwp preemption-safe.
 1.43  04-Sep-2020  thorpej Missed one in last change.
 1.42  04-Sep-2020  thorpej Garbage-collect GET_CPUINFO; it's no longer used.
 1.41  04-Sep-2020  thorpej - Make the GET_CURLWP actually return curlwp, not &curlwp.
- exception_return(): Use GET_CURLWP directly, rather than a dance
acount GET_CPUINFO.
- Introduce SET_CURLWP(), to set the curlwp value.
- Garbage-collect GET_FPCURLWP.
 1.40  03-Sep-2020  thorpej The only remaining consumer of curpcb was the PROM mapping code, for if
PROM console routines are being used (only on KN8AE). We have access to
the sam information via curlwp, so use that, and eliminate the need to set
cpu_info::ci_curpcb when context switching, which saves an extra all into
PALcode.
 1.39  29-Aug-2020  thorpej G/C GET_IDLE_PCB -- it hasn't been used for some time.
 1.38  18-Apr-2020  martin Fix copy & pasto in previous (to fix the build)
 1.37  17-Apr-2020  joerg Mark the .ident section as mergable string section to avoid redundant
entries.
 1.36  14-Jan-2017  christos branches: 1.36.16; 1.36.26;
Undo; the correct fix was applied in csu/arch/alpha/crtbegin.h
 1.35  14-Jan-2017  martin Avoid stupid gcc redefinition warnings by #undef before redefine.
 1.34  11-Jul-2013  matt branches: 1.34.8; 1.34.12;
Add a RCSID macro for non _KERNEL use
 1.33  06-Feb-2012  matt branches: 1.33.6; 1.33.10;
Do a minor cleanup of alpha (this will make applying pullups post branching
easier).
u_int{8,16,32,64}_t -> uint{*}_t
Change all old-style definitions to C89 prototypes.
Whitespace cleanup.
Constification in db_disasm.c
 1.32  12-Feb-2011  matt branches: 1.32.4; 1.32.8;
Use .pushsection/.popsection for __KERNEL_RCSID/__KERNEL_COPYRIGHT.
Add an explicit .text to linux_sigcode.s
 1.31  20-Dec-2010  joerg branches: 1.31.2; 1.31.4;
Consistently use .gnu.warning with .pushsectio and .popsection on all
architectures instead of obsolete STABS frames for linker warnings.
 1.30  09-Feb-2007  ad branches: 1.30.70;
Merge newlock2 to head.
 1.29  20-Jan-2006  christos branches: 1.29.18;
Add a STRONG_ALIAS macro
 1.28  11-Dec-2005  christos branches: 1.28.2;
merge ktrace-lwp.
 1.27  04-Dec-2003  keihan branches: 1.27.16;
netbsd.org -> NetBSD.org

All "netbsd.org" is now gone from src/sys/arch.
 1.26  18-Dec-2001  thorpej branches: 1.26.16;
We haven't done ECOFF for a long time; garbage-collect all the
__ELF__ #ifdefs (thus setting ELF in stone).
 1.25  18-Dec-2001  thorpej Disable .loc in macros for now; the new assembler is a lot more
picky about having the file number defined.
 1.24  05-Sep-2001  nathanw The return address register ($ra) is callee-saved, not caller-saved.
 1.23  23-Jun-2000  kleink branches: 1.23.2; 1.23.4;
Add a WEAK_ALIAS() macro.
 1.22  02-Dec-1998  thorpej branches: 1.22.10; 1.22.20;
Implement WARN_REFERENCES().
 1.21  13-Oct-1998  kleink Since libc is not ready for enabling weak symbol support yet, disable the
WEAK_ALIAS() macro for now (like cdefs.h).
 1.20  01-Oct-1998  erh Macros to call a linux syscall.
 1.19  27-Mar-1998  ross Get rid of a /* in a comment.
 1.18  03-Nov-1997  ross --Add handcrafted stack frame directives to locore.s palcode vector
--entries / remove kernel entry from locore / reorganize vector entry
--code. Enables access to stack frames transitively w.r.t. palcode
--vectors, e.g. upward traceback works, inverting (possibly several)
--kernel vectors. Until now, all trackbacks ended at the first-reached
--instance of trap(), which was totally useless as there is no mystery
--to trap->panic->cpu_reboot
 1.17  06-Sep-1997  thorpej branches: 1.17.4;
Split off PALcode functions into their own header file.
 1.16  29-Aug-1997  thorpej Define PAL_cflush, PAL_ipir, and PAL_OSF1_wrperfmon PALcode operations.
 1.15  14-Apr-1997  cgd branches: 1.15.4;
clean up some ELF vs. ECOFF bogons
 1.14  08-Apr-1997  cgd align after RCS ID strings if placing them in text
 1.13  08-Apr-1997  cgd include RCS IDs for assembler files, disabled with NO_KERNEL_RCSIDS
 1.12  06-Apr-1997  cgd clean up NetBSD RCS ID strings
 1.11  30-Nov-1996  jtc branches: 1.11.2;
PROF -> GPROF
 1.10  17-Oct-1996  cgd add a WEAK_ALIAS macro if building on an ELF-capable system, which creates
a weak alias for a symbol.
 1.9  17-Oct-1996  cgd Add __CONCAT and ___CONCAT to concatenate identifiers. Add LLABEL to
create an assembly label, and SYSCALLNUM to convert a syscall name into
the macro that's defined to be its number. Add a CALLSYS_NOERROR macro
which invokes the named system call. (CALLSYS_NOERROR is here since
it's used in locore, for sigcode.)
 1.8  13-Oct-1996  christos backout previous kprintf change
 1.7  10-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.6  15-Sep-1996  cgd simplify profiling entry. add 'label' argument tp PANIC, PRINTF, and MSG,
which is the label that the message string should be stored with.
 1.5  09-Jul-1996  cgd clean up comments, add OSF/1 rdmces and wrmces PALcode function calls.
 1.4  12-Apr-1996  cgd update copyright
 1.3  12-Apr-1996  cgd use jmp, rather than br, in the JMP macro
 1.2  23-Nov-1995  cgd wholesale update from my NetBSD/Alpha source tree. Includes:
Support for AXPpci CPUs,
Support for AlphaStation 600 CPUs,
new boot block structure, which requires an 'installboot'
program and works a lot like the NetBSD/sparc boot blocks.
 1.1  13-Feb-1995  cgd preliminary Alpha support. note that NOT ALL OF THE MODIFICATIONS TO
THE REST OF THE KERNEL ARE IN THE TREE YET. Also, some of this is
_incredibly_ hack-ish, etc., but it works.
 1.11.2.1  01-Jun-1997  cgd sync the nwscons branch up with yesterday's version of the trunk.
Lots of conflicts/changes because of the RCS Id format changes.
Also, a few cleanups and corrections.
 1.15.4.2  06-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.15.4.1  01-Sep-1997  thorpej Repair marc-pcmcia branch.
 1.17.4.2  08-May-1998  mycroft Pull up 1.19, per request of ross.
 1.17.4.1  10-Nov-1997  thorpej Sync w/ trunk: ability to traceback past PALcode entry vectors.
 1.22.20.1  25-Jul-2000  kleink Pull up rev. 1.23 (approved by thorpej):
For ELF, add a WEAK_ALIAS() macro.
 1.22.10.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.23.4.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.23.4.1  13-Sep-2001  thorpej Update the kqueue branch to HEAD.
 1.23.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.23.2.1  21-Sep-2001  nathanw Catch up to -current.
 1.26.16.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.26.16.2  18-Sep-2004  skrll Sync with HEAD.
 1.26.16.1  03-Aug-2004  skrll Sync with HEAD
 1.27.16.2  26-Feb-2007  yamt sync with head.
 1.27.16.1  21-Jun-2006  yamt sync with head.
 1.28.2.1  01-Feb-2006  yamt sync with head.
 1.29.18.1  11-Jan-2007  ad Checkpoint work in progress.
 1.30.70.1  05-Mar-2011  rmind sync with head
 1.31.4.1  17-Feb-2011  bouyer Sync with HEAD
 1.31.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.32.8.1  18-Feb-2012  mrg merge to -current.
 1.32.4.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.32.4.1  17-Apr-2012  yamt sync with head
 1.33.10.1  28-Aug-2013  rmind sync with head
 1.33.6.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.34.12.1  20-Mar-2017  pgoyette Sync with HEAD
 1.34.8.1  05-Feb-2017  skrll Sync with HEAD
 1.36.26.1  20-Apr-2020  bouyer Sync with HEAD
 1.36.16.1  21-Apr-2020  martin Sync with HEAD
 1.44.20.1  31-Jul-2023  martin Pull up following revision(s) (requested by riastradh in ticket #264):

sys/arch/ia64/ia64/vm_machdep.c: revision 1.18
sys/arch/powerpc/powerpc/locore_subr.S: revision 1.67
sys/arch/aarch64/aarch64/locore.S: revision 1.91
sys/arch/mips/include/asm.h: revision 1.74
sys/arch/hppa/include/cpu.h: revision 1.13
sys/arch/arm/arm/armv6_start.S: revision 1.38
sys/arch/evbmips/ingenic/cpu_startup.S: revision 1.2
sys/arch/mips/mips/locore.S: revision 1.229
sys/arch/aarch64/aarch64/cpuswitch.S: revision 1.40
sys/arch/alpha/include/asm.h: revision 1.45
sys/arch/sparc64/sparc64/locore.s: revision 1.432
sys/arch/vax/vax/subr.S: revision 1.42
sys/arch/mips/mips/locore_mips3.S: revision 1.116
sys/arch/riscv/riscv/cpu_switch.S: revision 1.3
sys/arch/ia64/ia64/machdep.c: revision 1.44
sys/arch/arm/arm32/cpuswitch.S: revision 1.106
sys/arch/sparc/sparc/locore.s: revision 1.284

aarch64: Add missing barriers in cpu_switchto.
Details in comments.

Note: This is a conservative change that inserts a barrier where
there was a comment saying none is needed, which is probably correct.
The goal of this change is to systematically add barriers to be
confident in correctness; subsequent changes may remove some bariers,
as an optimization, with an explanation of why each barrier is not
needed.

PR kern/57240

alpha: Add missing barriers in cpu_switchto.
Details in comments.

arm32: Add missing barriers in cpu_switchto.
Details in comments.

hppa: Add missing barriers in cpu_switchto.
Not sure hppa has ever had working MULTIPROCESSOR, so maybe no
pullups needed?

ia64: Add missing barriers in cpu_switchto.
(ia64 has never really worked, so no pullups needed, right?)

mips: Add missing barriers in cpu_switchto.
Details in comments.

powerpc: Add missing barriers in cpu_switchto.
Details in comments.

riscv: Add missing barriers in cpu_switchto.
Details in comments.

sparc: Add missing barriers in cpu_switchto.

sparc64: Add missing barriers in cpu_switchto.
Details in comments.

vax: Note where cpu_switchto needs barriers.

Not sure vax has ever had working MULTIPROCESSOR, though, and I'm not
even sure how to spell store-before-load barriers on VAX, so no
functional change for now.

RSS XML Feed