freebsd-skq/sys
peter 45949ccde1 Commit MD parts of a loosely functional AMD64 port. This is based on
a heavily stripped down FreeBSD/i386 (brutally stripped down actually) to
attempt to get a stable base to start from.  There is a lot missing still.
Worth noting:
- The kernel runs at 1GB in order to cheat with the pmap code.  pmap uses
  a variation of the PAE code in order to avoid having to worry about 4
  levels of page tables yet.
- It boots in 64 bit "long mode" with a tiny trampoline embedded in the
  i386 loader.  This simplifies locore.s greatly.
- There are still quite a few fragments of i386-specific code that have
  not been translated yet, and some that I cheated and wrote dumb C
  versions of (bcopy etc).
- It has both int 0x80 for syscalls (but using registers for argument
  passing, as is native on the amd64 ABI), and the 'syscall' instruction
  for syscalls.  int 0x80 preserves all registers, 'syscall' does not.
- I have tried to minimize looking at the NetBSD code, except in a couple
  of places (eg: to find which register they use to replace the trashed
  %rcx register in the syscall instruction).  As a result, there is not a
  lot of similarity.  I did look at NetBSD a few times while debugging to
  get some ideas about what I might have done wrong in my first attempt.
2003-05-01 01:05:25 +00:00
..
alpha Range check the syscall number before looking it up in the syscallnames[] 2003-04-30 17:59:27 +00:00
amd64 Commit MD parts of a loosely functional AMD64 port. This is based on 2003-05-01 01:05:25 +00:00
arm Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
boot We use i386 boot code on AMD64. 2003-04-30 22:13:36 +00:00
cam Use %j instead of %q in printf to unbreak sparc64. 2003-04-30 13:36:51 +00:00
coda - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with 2003-03-31 22:49:17 +00:00
compat Initialize tbuf in newstat_copyout() too. 2003-04-29 17:03:22 +00:00
conf Add AMD64 hooks 2003-04-30 22:22:29 +00:00
contrib Resolve conflicts. 2003-04-29 19:11:00 +00:00
crypto Assembly files put thru the C preprocessor need to have C style comments. 2003-04-21 16:30:12 +00:00
ddb Move the _oncpu entry from the KSE to the thread. 2003-04-10 17:35:44 +00:00
dev Add support for IC Book Ironclad Pro/Lite 8-port cards. 2003-04-30 22:15:47 +00:00
fs Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
geom Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
gnu This commit was generated by cvs2svn to compensate for changes in r113778, 2003-04-21 02:27:52 +00:00
i4b - Add vm_paddr_t, a physical address type. This is required for systems 2003-03-25 00:07:06 +00:00
i386 KPT_MIN_ADDRESS and KPT_MAX_ADDRESS are not used anywhere. And if they 2003-05-01 00:10:38 +00:00
ia64 Kill MID_MACHINE, its a.out specific, the only platform that supports 2003-04-30 23:16:33 +00:00
isa Create a 'legacy' node for AMD64 as well as i386. While we'll never 2003-04-30 21:41:41 +00:00
isofs/cd9660 Rename vfs_stdsync function to vfs_stdnosync which matches more 2003-03-11 22:15:10 +00:00
kern AMD64 uses the new-style cpu_switch()/cpu_throw() calling conventions. 2003-04-30 21:45:03 +00:00
libkern Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
modules Support functions for the new ACPI import. 2003-04-29 18:50:34 +00:00
net Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
netatalk - Use if_broadcastaddr from struct ifnet rather than relying on 2003-03-21 17:53:16 +00:00
netatm Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
netgraph Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
netinet Add definitions for IN6ADDR_LINKLOCAL_ALLMDNS_INIT and INADDR_ALLMDNS_GROUP. 2003-04-29 22:03:46 +00:00
netinet6 Add definitions for IN6ADDR_LINKLOCAL_ALLMDNS_INIT and INADDR_ALLMDNS_GROUP. 2003-04-29 22:03:46 +00:00
netipsec Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netipx Remove unimplemented IP-in-IPX encapsulation support (options IPTUNNEL). 2003-03-08 06:58:22 +00:00
netkey Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netnatm Introduce an M_ASSERTPKTHDR() macro which performs the very common task 2003-04-08 14:25:47 +00:00
netncp - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with 2003-03-31 22:49:17 +00:00
netsmb - Move p->p_sigmask to td->td_sigmask. Signal masks will be per thread with 2003-03-31 22:49:17 +00:00
nfs Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
nfsclient Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
nfsserver - Acquire the vm_object's lock when performing vm_object_page_clean(). 2003-04-24 04:31:25 +00:00
opencrypto Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
pc98 Deprecate machine/limits.h in favor of new sys/limits.h. 2003-04-29 13:36:06 +00:00
pccard 1. Allow drivers to query CIS strings from OLDCARD. 2003-04-23 23:39:21 +00:00
pci Add module data and version to the atm_subr and reference this info from the 2003-04-29 08:07:44 +00:00
posix4 Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
powerpc Fix transcription error. Use == NULL, not != NULL. Fortunately this 2003-04-30 22:09:26 +00:00
rpc
security - Acquire the vm_object's lock when performing vm_object_page_clean(). 2003-04-24 04:31:25 +00:00
sparc64 Fix transcription error. Use == NULL, not != NULL. Fortunately this 2003-04-30 22:09:26 +00:00
sys Use the 64 bit sized struct kinfo_proc for AMD64. 2003-04-30 22:06:39 +00:00
tools MFp4: 2003-03-28 06:43:50 +00:00
ufs Fix some easy, global, lint warnings. In most cases, this means 2003-04-30 12:57:40 +00:00
vm Increase the scope of the vm_object lock in vm_map_delete(). 2003-04-30 19:18:09 +00:00
Makefile