Commit Graph

54 Commits

Author SHA1 Message Date
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
thorpej 8873902707 Make gcc 3.1's preprocessor happy with the __lint__ va_end(). 2002-01-03 01:56:52 +00:00
thorpej 7efc72e894 Only use __builtin_va_list if __GNUC__. 2002-01-03 01:37:20 +00:00
thorpej 2db4da1742 Fix some register constraints; specifically, the "port" operand,
if not an immediate, must be in a 16-bit register.
2001-12-28 06:42:40 +00:00
thorpej 670bf31890 Fix the definition of ELF32_MACHDEP_ENDIANNESS. 2001-12-28 06:35:19 +00:00
thorpej 51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
lukem e54643e8f7 minor knf 2001-11-29 02:58:18 +00:00
soren 662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
lukem cf524d2464 replace __byte_swap_long_variable and __byte_swap_word_variable
#define ({ })  with  static __inline { }
2001-11-02 05:23:48 +00:00
thorpej e727e3f180 Split elf32 vs. elf64 handling in loadfile(), including support for
each separately and explicitly.  BOOT_ELF is now BOOT_ELF32 and
BOOT_ELF64, and ELFSIZE should no longer be defined in loadfile_machdep.h.
2001-10-31 17:20:45 +00:00
kleink 3a3c243c62 Tidy up a little, to be like other ports. 2001-10-25 12:26:18 +00:00
chs bd41422de9 don't install loadfile_machdep.h. standalone programs should
include it directly from the kernel source tree.
2001-09-19 06:38:44 +00:00
chris 0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00