freebsd-nq/sys/amd64/include
Peter Wemm 19acc770c2 Pull the tier-2 card one last time and break the get/setcontext and
sigreturn() ABI and the signal context on the stack.

Make the trapframe (and its shadows in the ucontext and sigframe etc)
8 bytes larger in order to preserve 16 byte stack alignment for the
following C code calls.  I could have done some padding after the
trapframe was saved, but some of the C code still expects an argument of
'struct trapframe'.  Anyway, this gives me a spare field that can be used
to store things like 'partial trapframe' status or something else in
the future.

The runtime impact is fairly small, *except* for threaded apps and things
that decode contexts and the signal stack (eg: cvsup binary).  Signal
delivery isn't too badly affected because the kernel generates the
sigframe that sigreturn uses after the handler has been called.

The size of mcontext_t and struct sigframe hasn't changed.  Only
the last few fields (sc_eip etc) got moved a little and I eliminated
a spare field.  mc_len/sc_len did change location though so the
sanity checks there will still trap it.
2003-10-15 02:04:52 +00:00
..
pc use __packed. 2002-09-23 18:54:32 +00:00
_inttypes.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
_limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
_stdint.h Create a new header <machine/_stdint.h> for storing MD parts of 2002-07-29 17:41:23 +00:00
_types.h Provide a fake varargs implementation for lint's benefit. This way 2003-05-10 00:55:15 +00:00
acpica_machdep.h MFi386 by jhb: add acpi_SetDefaultIntrModel(); 2003-09-22 22:12:46 +00:00
apicreg.h Fix a typo. 2003-09-10 01:11:58 +00:00
asm.h MFi386: i386/include/asm.h rev 1.11: Do not abuse ##. 2003-06-02 05:59:35 +00:00
asmacros.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
atomic.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
bus_amd64.h Implement the bus_space_map() function to allocate resources and initialize 2003-09-23 08:22:34 +00:00
bus_dma.h - Introduce a new busdma flag BUS_DMA_ZERO to request for zero'ed 2003-07-27 13:52:10 +00:00
bus_memio.h AMD64 physical space is much larger than i386, de-i386 the bus_space and 2003-05-12 02:44:37 +00:00
bus_pio.h AMD64 physical space is much larger than i386, de-i386 the bus_space and 2003-05-12 02:44:37 +00:00
bus.h AMD64 physical space is much larger than i386, de-i386 the bus_space and 2003-05-12 02:44:37 +00:00
clock.h MFi386: BURN_BRIDGES around timer0 functions 2003-09-30 06:38:11 +00:00
cpu.h Sync with i386 version. The quality initialization was missing and some 2003-09-23 00:18:45 +00:00
cpufunc.h Collect the nastiness for preserving the kernel MSR_GSBASE around the 2003-05-15 00:23:40 +00:00
cputypes.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
critical.h Expand inline the relevant parts of src/COPYRIGHT for Matt Dillon's 2003-08-12 23:24:05 +00:00
db_machdep.h Initial port to amd64 after repocopy from i386. Note that the 2003-05-30 01:01:07 +00:00
elf.h Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
endian.h MFi386 rev 1.37: constant-friendly bswap macros 2003-09-22 22:37:49 +00:00
exec.h
float.h Implement fpclassify(): 2003-02-08 20:37:55 +00:00
floatingpoint.h o Move the contents of <machine/floatingpoint.h> over to 2003-01-19 06:01:33 +00:00
fpu.h Go back to 64 bit precision for fadd/fsub/fsqrt etc. This is because on 2003-07-22 06:50:34 +00:00
frame.h Pull the tier-2 card one last time and break the get/setcontext and 2003-10-15 02:04:52 +00:00
ieeefp.h Fix a dumbass mistake. I had the 'set' and 'get' reversed in the 2003-08-02 00:26:30 +00:00
in_cksum.h
kse.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
legacyvar.h MFi386 pci_bus.c 1.102 legacyvar.h 1.4: rename nexus_pcib to legacy_pcib 2003-09-23 00:03:44 +00:00
limits.h sys/sys/limits.h: 2003-05-19 20:29:07 +00:00
md_var.h Move basemem variable into global scope so that the MP startup code can 2003-09-22 23:33:29 +00:00
metadata.h Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values 2003-05-01 03:31:18 +00:00
mptable.h Commit Bosko's patch to clean up the PSE/PG_G initialization to and 2003-10-01 23:46:08 +00:00
mutex.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
npx.h Go back to 64 bit precision for fadd/fsub/fsqrt etc. This is because on 2003-07-22 06:50:34 +00:00
param.h KSTACK_PAGES is a global option. 2003-07-31 01:27:18 +00:00
pcb_ext.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
pcb.h Collect the nastiness for preserving the kernel MSR_GSBASE around the 2003-05-15 00:23:40 +00:00
pci_cfgreg.h MFi386: pci_cfgreg.h rev 1.10 by jhb/des/njl. Fix CONF1_ENABLE_MSK. 2003-09-22 22:21:21 +00:00
pcpu.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
pmap.h Move pmap_resident_count() from the MD pmap.h to the MI pmap.h. 2003-10-06 01:47:12 +00:00
proc.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
profile.h Use C99 compatable asm statements. 2003-06-02 00:29:35 +00:00
psl.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
ptrace.h Move the definition of PT_[GS]ET{,DB,FP}REGS from the MD ptrace.h to the 2002-03-16 00:25:53 +00:00
reg.h As suggested by the gdb folks, pad the 'struct fpreg' to a full 512 bytes 2003-05-23 06:31:56 +00:00
reloc.h
resource.h
runq.h Move the "- 1" into the RQB_FFS(mask) macro itself so that 2002-06-20 06:21:20 +00:00
segments.h MFi386 by jhb: use symbolic constants for the IDT entries. 2003-09-22 22:09:02 +00:00
setjmp.h Make this more compatable with libc_r. Make the internal types for storing 2003-06-02 21:49:35 +00:00
sigframe.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
signal.h Pull the tier-2 card one last time and break the get/setcontext and 2003-10-15 02:04:52 +00:00
smp.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
specialreg.h MFi386 rev 1.25 by jhb: add new MSR's and some missing older ones and 2003-09-22 22:51:46 +00:00
stdarg.h Provide a fake varargs implementation for lint's benefit. This way 2003-05-10 00:55:15 +00:00
sysarch.h Give a %fs and %gs to userland. Use swapgs to obtain the kernel %GS.base 2003-05-12 02:37:29 +00:00
trap.h
tss.h Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
ucontext.h Pull the tier-2 card one last time and break the get/setcontext and 2003-10-15 02:04:52 +00:00
varargs.h Standardize idempotentcy ifdefs. Consistently use _MACHINE_VARARGS_H_ 2003-09-01 03:01:45 +00:00
vmparam.h Re-raise the default datasize and stacksize now that the 32 bit exec 2003-09-25 01:11:17 +00:00