freebsd-dev/sys/ia64/include
Marcel Moolenaar dc00c828e3 Remove special casing for running in the simulator from the kernel
and instead add platform, firmware and EFI stubs to the loader.
The net effect of this change is that besides a special console and
disk driver, the kernel has no knowledge of the simulator. This has
the following advantages:
o  Simulator support is much harder to break,
o  It's easier to make use of more feature complete simulators.
   This would only need a change in the simulator specific loader,
o  Running SMP kernels within the simulator. Note that ski at this
   time does not simulate IPIs, so there's no way to start APs.

The platform, firmware and EFI stubs describe the following hardware:
o  4 CPU Itanium,
o  128 MB RAM within the 4GB address space,
o  64 MB RAM above the 4GB address space.

NOTE: The stubs in the skiloader describe a machine that should in
parts be defined by the simulator. Things like processor interrupt
block and AP wakeup vector cannot be choosen at random because they
require interpretation by the simulator. Currently the simulator is
ignorant of this.

This change introduces an unofficial SSC call SSC_SAL_SET_VECTORS
which is ignored by the simulator.

Tested with: ski (version 0.943 for linux)
2003-02-01 22:50:09 +00:00
..
pc use __packed. 2002-09-23 18:54:32 +00:00
_inttypes.h Since printf(3) now supports the `j' conversion specifier, use that 2002-06-30 05:48:03 +00:00
_limits.h Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +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 Test the water. Make time_t long (64 bit) on ia64 since we do not have 2002-11-15 22:35:34 +00:00
acpica_machdep.h Resolve conflicts arising from the ACPI CA 20020725 import. 2002-07-30 19:35:32 +00:00
asm.h Initiate deorbit burn for the i386-only a.out related support. Moves are 2002-09-17 01:49:00 +00:00
atomic.h Simplify IA64_CMPXCHG to avoid having braced-groups in expressions. 2002-05-19 20:19:07 +00:00
bootinfo.h Use one of the bi_spare entries for the DIG64 HCDP table address. 2002-12-08 20:32:56 +00:00
bus_memio.h
bus_pio.h
bus.h Provide a null-implementation for bus_space_unmap, like i386. 2003-01-05 21:34:05 +00:00
clock.h Replace the hardcoding of 255 as the clock interrupt vector with 2003-01-06 01:39:25 +00:00
clockvar.h Don't pretend the argument to clockattach is a device - it isn't. 2001-10-04 15:28:27 +00:00
cpu.h MFp4: 2002-11-24 20:15:08 +00:00
cpufunc.h Make all memory I/O addresses (explicitly) 64-bit. Memory mapped 2003-01-05 21:40:45 +00:00
critical.h Stage-2 commit of the critical*() code. This re-inlines cpu_critical_enter() 2002-04-01 23:51:23 +00:00
db_machdep.h o Remove namespace pollution from param.h: 2002-05-19 04:42:19 +00:00
dig64.h More MFp4: DIG64 structures. 2002-12-18 18:52:20 +00:00
efi.h Initial cut at calling the EFI-provided FPSWA (Floating Point Software 2001-11-19 07:25:42 +00:00
elf.h Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
endian.h Be careful not to define GCC-specific optimizations in the non-GCC 2002-09-23 04:32:17 +00:00
exec.h
float.h Assume round-to-nearest mode for floating point. 2001-10-06 15:57:22 +00:00
floatingpoint.h
fpu.h
frame.h Add ar.lc and ar.ec to the trapframe. These are not saved for syscalls, 2002-04-30 06:37:25 +00:00
ia64_cpu.h o Remove namespace pollution from param.h: 2002-05-19 04:42:19 +00:00
ieee.h
ieeefp.h s/_ALPHA_/_MACHINE_/ 2002-05-13 05:01:05 +00:00
in_cksum.h
inst.h Shift the code which packs and unpacks instruction bundles out of DDB 2001-10-18 16:20:04 +00:00
intr.h Don't hardcode the address of the local (S)APIC (aka processor 2003-01-05 22:14:30 +00:00
intrcnt.h Bump the number of interrupts from 65 to 257. This is a waste of 2003-01-05 22:00:19 +00:00
ioctl_bt848.h
ioctl_meteor.h
kse.h Add a copy of the sparc64 machine/kse.h to satisfy depencies.. 2002-06-29 18:07:50 +00:00
limits.h Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, 2003-01-01 18:49:04 +00:00
mca.h Remove the definition of struct mca_guid and use the generic 2002-05-29 05:19:07 +00:00
md_var.h Remove special casing for running in the simulator from the kernel 2003-02-01 22:50:09 +00:00
mutex.h Modify the critical section API as follows: 2001-12-18 00:27:18 +00:00
nexusvar.h Convert NEXUS_ACCESSOR to use the __BUS_ACCESSOR 2002-08-22 19:47:10 +00:00
pal.h Add define for the PIB default address and include a reference to 2001-10-21 05:52:54 +00:00
param.h Initiate deorbit burn for the i386-only a.out related support. Moves are 2002-09-17 01:49:00 +00:00
pcb.h Rewrite cpu_switch(). The most notable change is the fact that we now 2002-10-30 05:55:29 +00:00
pci_cfgreg.h Start hooking up devices. 2001-09-29 11:11:18 +00:00
pcpu.h Remove unused MD fields (pc_pending_ipis, pc_next_asn and 2001-12-30 09:39:41 +00:00
pmap.h Remove the dependency on ia64_cpu.h by not defining pmap_kextract() 2002-10-12 20:35:56 +00:00
proc.h Compromise for critical*()/cpu_critical*() recommit. Cleanup the interrupt 2002-03-27 05:39:23 +00:00
profile.h Change critical_t to register_t for intr_disable/restore. 2002-03-21 09:50:11 +00:00
pte.h Define PS and VE fields of region register correctly. 2001-11-09 13:07:44 +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 At great personal risk, add a __packed and __aligned(x) define that 2002-09-23 05:55:10 +00:00
reloc.h
resource.h
rse.h * Factor out common code for manipulating the RSE backing store. 2001-10-29 12:04:23 +00:00
runq.h Move the "- 1" into the RQB_FFS(mask) macro itself so that 2002-06-20 06:21:20 +00:00
sal.h Remove special casing for running in the simulator from the kernel 2003-02-01 22:50:09 +00:00
sapicreg.h Wire up most of the interrupt handling infrastructure. Not sure it works 2001-10-05 10:30:09 +00:00
sapicvar.h List the IO SAPIC delivery mode definitions. 2002-10-04 01:33:30 +00:00
setjmp.h ia64 ABI breaker: 2002-11-11 08:11:44 +00:00
sigframe.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
signal.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
smp.h o Rename ia64_count_aps to ia64_count_cpus and reimplement the 2002-05-12 05:54:21 +00:00
stdarg.h o Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:01:07 +00:00
sysarch.h
ucontext.h * Various fixes to breakage introduced by the atomic and mutex reorgs. 2000-10-24 19:54:38 +00:00
unwind.h Update the unwind information when modules are loaded and unloaded 2002-10-19 19:30:38 +00:00
varargs.h Add conditionals to allow va_list to be defined in other headers. 2002-10-06 22:02:06 +00:00
vmparam.h Define UMA_MD_SMALL_ALLOC so that we can allocate memory with region 2002-11-06 04:47:38 +00:00