Commit Graph

66 Commits

Author SHA1 Message Date
fvdl ddb412e581 Define NFS_WSIZE and NFS_RSIZE as on i386. 2002-12-10 17:57:19 +00:00
thorpej 78ea2dd367 Use __LDPGSZ (which must be == USRTEXT) as the text address for a.out
executables, and eliminate the USRTEXT constant, which was only used
by the a.out exec code.
2002-12-10 05:14:24 +00:00
fvdl b59af86db6 Install atomic.h 2002-12-03 22:13:58 +00:00
fvdl 567d82224b Synch with i386 (pmap, naming schemes, cpu_info structure). 2002-12-03 22:03:01 +00:00
fvdl 6dbe6cdeb5 Initial DDB support, mostly a quick 'n dirty port of the i386 code.
No dissassembly yet.
2002-11-29 22:17:12 +00:00
fvdl 93048d8fba Make physseg attrs unsigned, just to be sure. 2002-11-29 22:14:58 +00:00
fvdl c08aef9c01 Make this a bit more like -current i386 pmap. Adjust some argument
types to avoid sign extension (although this is not a problem
currently).
2002-11-29 22:14:15 +00:00
lukem 0635de35a3 Remove KDIR=, since SYS_INCLUDE=symlinks and KDIR are not supported any more. 2002-11-26 23:30:07 +00:00
fvdl 589e13bd6f Define both BOOT_ELF32 and BOOT_ELF64 2002-11-23 16:05:40 +00:00
fvdl 9d672e72f5 Use a barrier in spl/splx. 2002-11-23 13:44:41 +00:00
fvdl 4c357c783c Adapt to i386 intr changes. 2002-11-23 12:53:51 +00:00
scw cb52115837 In preparation for COMPAT_NETBSD32 on SH-5:
- The MD netbsd32_machdep.h header now defines the 32-bit pointer type
   instead of using u_int32_t everywhere,
 - The MD netbsd32_machdep.h header now defines a macro (at least on
   current implementations) which converts a 32-bit pointer to its 64-bit
   equivalent,
 - Change the MI code to utilise the above two items in all the right places,
 - Implement netbsd32___sigaction_sigtramp().

Tested on Sparc64 by Matt Green.
2002-10-23 13:16:38 +00:00
simonb 63096043b3 Use "#define\t" instead of "#define ". 2002-09-22 08:30:56 +00:00
chs c081614ea2 it really helps to get the stub right before cutting + pasting it 27 times.
alas, I did not.  doh.
2002-09-22 07:53:39 +00:00
chs 55e1f79335 add pmap_remove_all() hook (empty on most platforms so far). 2002-09-22 07:17:08 +00:00
gmcgarry dca80f08fd Add __HAVE_MD_RUNQUEUE flag for MD code to override MI run queue primitives. 2002-09-22 04:11:32 +00:00
gehenna 77a6b82b27 Merge the gehenna-devsw branch into the trunk.
This merge changes the device switch tables from static array to
dynamically generated by config(8).

- All device switches is defined as a constant structure in device drivers.

- The new grammer ``device-major'' is introduced to ``files''.

	device-major <prefix> char <num> [block <num>] [<rules>]

- All device major numbers must be listed up in port dependent majors.<arch>
  by using this grammer.

- Added the new naming convention.
  The name of the device switch must be <prefix>_[bc]devsw for auto-generation
  of device switch tables.

- The backward compatibility of loading block/character device
  switch by LKM framework is broken. This is necessary to convert
  from block/character device major to device name in runtime and vice versa.

- The restriction to assign device major by LKM is completely removed.
  We don't need to reserve LKM entries for dynamic loading of device switch.

- In compile time, device major numbers list is packed into the kernel and
  the LKM framework will refer it to assign device major number dynamically.
2002-09-06 13:18:43 +00:00
fvdl c24cb24f0d Update comment. 2002-07-14 12:30:36 +00:00
fvdl ee925d3924 Consistently handle segment selectors in traps and interrupts. 2002-07-14 12:20:45 +00:00
fvdl 4ddf293c2e Hand-align the fxsave area to be able to determine its offset in structures
more precisely.
2002-07-10 01:54:00 +00:00
fvdl 728043f0da Add definitions for 32bit sysarch calls. 2002-07-07 23:27:00 +00:00
fvdl 7cc42e6abb Move struct savefpu outside ifdef _KERNEL for the benefit of userland
code that includes <machine/pcb.h>
2002-07-06 10:43:32 +00:00
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
fvdl cf9727c9c6 Uncomment x86_64_iopl args. 2002-07-04 10:49:33 +00:00
thorpej e09f5065d0 During signal delivery, arrange to have the signal handler invoked
directly, using the trampoline only for the return path.
2002-06-25 01:24:49 +00:00
fvdl ff5489fd50 MTRR includes. 2002-06-18 08:31:42 +00:00
fvdl c7647a1294 Fix up the FP code some, and make it deliver XMM exceptions. Adapt
sigframe a bit.
2002-06-12 19:13:27 +00:00
simonb 97f56c7642 Don't install <machine/rnd.h>. 2002-06-06 03:30:56 +00:00
fvdl 0fc3b521af Move the IDTVEC macro here, mirroring Jason's change for the i386 port. 2002-06-05 19:17:34 +00:00
fvdl e4eac0d964 Fix rdtsc and rdpmc inlines, and fixup rnd.h to do the right thing. 2002-06-04 17:52:46 +00:00
fvdl 01fbe9c413 Drink the swapgs kool-aid.
Enable the use of syscall/sysret as the default system cal entry
point.
2002-06-03 18:23:16 +00:00
fvdl cec79c16b4 Include sys/types.h or u_int* 2002-05-30 00:36:42 +00:00
fvdl b16e023917 Enable syscall/sysret insn use. They have the potential to lead to
a faster system call path (but currently won't be much faster).
Signal trampoline to be converted.

Rename eflags -> rflags where appropriate.
2002-05-28 23:11:38 +00:00
fvdl 8b277a3d68 Add definition for CPU-private data (in a remapped page in the data
segment). Somewhat of a kludge to be able to switch stack pointers
in in the syscall entry point without clobering a register, avoiding
the terror of 'swapgs'.
2002-05-28 23:09:36 +00:00
fvdl cfe60d7a95 Shuffle order of selectors around to appease syscall/sysret (bah). 2002-05-28 23:07:35 +00:00
fvdl 92f44882b8 rdmsr/wrmsr don't have 64 bit versions, fix the inline functions. 2002-05-28 23:06:28 +00:00
fvdl f6d35976a9 Remove fs and gs fields. 2002-05-26 12:08:49 +00:00
fvdl 66f94c684f Move the kernel to the upper 4G of virtual address space and use
-mcmodel=kernel.
2002-05-26 00:23:49 +00:00
thorpej dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
thorpej 510cbd8934 Revert revision 1.3. 2002-05-03 17:52:17 +00:00
eeh be9ab3e5db Provide _LP64 definition if we are generating LP64 binaries. 2002-05-03 00:06:55 +00:00
wiz 8aedc259f8 Don't cdev_decl(pms). 2002-04-19 02:10:17 +00:00
simonb 4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
christos 6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
simonb d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
simonb 2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
fvdl 194ca09a3f Add bus_space_mmap. 2002-01-25 22:01:42 +00:00
thorpej ac0867dd40 Add BITFIELDTYPE lint comments where we need to use u_int64_t bitfields. 2002-01-03 04:28:31 +00:00
thorpej 4eef3278dc Add casts to the __lint__ version of va_arg() to avoid dereferencing
non-pointer arguments in cases like: foo = *va_arg(ap, int *);
2002-01-03 02:05:42 +00:00
thorpej bd95f88c7d Define __BIT_TYPES_DEFINED__. 2002-01-03 01:58:58 +00:00