Commit Graph

789 Commits

Author SHA1 Message Date
yamt 0c8275031f add pmap_pte_cas. 2008-01-13 07:05:42 +00:00
ad e8532b7138 - Fix a memory order problem with non-interlocked mutex release.
- Give kernel_lock its own cache line.
2008-01-10 20:14:10 +00:00
joerg 9d157a1ecb Add assembler version of in_cksum. Thanks to ad@ for his time as
peep hole optimiser. This is 30% faster than the portable C version
for checksumming 64byte and larger mbufs and as fast as or slightly
faster for shorter mbufs (with a high variance).
2008-01-09 16:40:17 +00:00
joerg 34dc4c6501 Switch Xen to generic TODR. Tested by Manuel Bouyer. 2008-01-08 20:37:34 +00:00
yamt 42f654a26b change the layout in u-area and reduce UPAGES. 2008-01-08 13:15:01 +00:00
martti a678f921c8 Fixed option indentation, it should be
option<space><tab>
makeoption<space><tab>
2008-01-07 08:30:03 +00:00
ad 80f35bef49 #include <sys/mutex.h> 2008-01-06 20:53:06 +00:00
ad 0805a9416a Add MODULAR option. Include kernel linker stuff if MODULAR. 2008-01-06 18:03:58 +00:00
ad dff5d8444c Only do the xcall if !cold. 2008-01-06 14:33:27 +00:00
yamt bb81964965 allocate dedicated stacks for NMI. PR/37662. 2008-01-05 22:48:31 +00:00
yamt f98ad43750 remove no longer necessary cpu_maxproc. 2008-01-05 21:52:01 +00:00
yamt 35f1be57b4 - make amd64 use per-cpu tss.
- fix iopl syscall for amd64+xen.
2008-01-05 21:47:18 +00:00
yamt e9a50f2e86 g/c unused members 2008-01-05 21:40:57 +00:00
yamt a0958af97a g/c ci_idle_pcb_paddr 2008-01-05 21:37:25 +00:00
dsl b8bcdbe9e6 Don't pass 'curlwp' into trace_enter() and trace_exit(). 2008-01-05 12:53:52 +00:00
dsl ba7a604397 Reorder the amd64 trapframe (swap rcx/r10 and add 4 spare slots after r9).
This allows the syscall code to pass the syscall args directly from the
trapframe instead of copying them to a separate structure.
It is still possible that some lurking code still assumes that
'struct trapframe', 'struct mcontext' and 'struct reg' all have the
registers in the same order, but I've fixed enough of them to get gdb working.
2008-01-05 12:08:50 +00:00
dsl 77fe68004d Do not assume that 'struct reg' and 'struct trapframe' have the same
layout.  Instead copy the fields individually.
2008-01-05 12:01:34 +00:00
dsl c18b957cb0 Repeat after me, don't edit files (even to update comments) between test
build and committing.
2008-01-04 23:29:54 +00:00
dsl abceae9908 Change the way that the trap/intr/syscall frames and the __gregset_t[]
indexes are defined so that only a single list of the registers is used.
The code no longer relies on the two structures matching.
There should be no binary change.
2008-01-04 23:04:53 +00:00
ad 1dd75d2865 Add a simple in-kernel linker, derived from FreeBSD's link_elf_obj.c. Needs
more work but is enough to load simple LKMs. amd64 is untested.

Locking is caller provided. This is decoupled from the LKM framework because
kernel modules need not be loaded from the file system - they could be built
into the kernel and referenced via link set.
2008-01-04 12:26:20 +00:00
ad 5f56d09078 Bump NKL2_KIMG_ENTRIES to allow for 20MB of kernel.
Well past time for an in-kernel linker...
2008-01-03 19:30:10 +00:00
jmmv 14780346b4 Remove this; objections from joerg@ and ad@, and I agree with them that
additional kernel configs are not the way to go because they are not
flexible at all.  Plus ad@ is working on a real solution (bootprop).
2008-01-02 20:40:43 +00:00
joerg 9f9b7d3adb Better description, this is not GENERIC after all. 2008-01-02 12:49:30 +00:00
ad 4a780c9ae2 Merge vmlocking2 to head. 2008-01-02 11:48:20 +00:00
yamt 48a1e4c2c1 a simple performance monitor based profiler, inspired from linux oprofile. 2008-01-01 21:28:37 +00:00
yamt 13d9847b0a add swapgs. 2008-01-01 21:24:17 +00:00
yamt cfb66876d1 try to detect processor resource sharing topologies. ie. package/core/smt IDs. 2008-01-01 20:32:10 +00:00
yamt 7aa31c1c3b make the nmi handler safer.
XXX should use IST.
2008-01-01 19:49:05 +00:00
yamt e01ad62b66 always consider T_NMI as !T_USER regardless of trapframe. 2008-01-01 13:40:20 +00:00
jmmv e92603e152 Revert previous by removing the apm entry. Even though the driver seems
to work, we do not build any userland support for it; see 1.183's commit
message.  Per jmcneill@'s request.
2008-01-01 13:35:36 +00:00
yamt e550a539ee add x86_cpuid2, which can specify ecx register. 2008-01-01 12:51:08 +00:00
jmmv b35cc6641f Add a trimmed-down configuration file for the VMware Fusion virtual machine
suitable for the subset of hardware devices it provides.
2008-01-01 11:20:42 +00:00
jmmv 4d71e761d0 Add the ACPI apm emulation device. 2008-01-01 11:05:27 +00:00
jmmv 14b3c39f2a Add and enable piixpm. Confirmed working under VMware Fusion. 2008-01-01 10:48:36 +00:00
ad 2ecdf58c2c Remove systrace. Ok core@. 2007-12-31 15:31:24 +00:00
joerg 47708a0e13 Missing assym.h dependency. 2007-12-30 16:07:02 +00:00
joerg 8d9503a349 Enable wedge autodiscovery and wedge support for GPT. Both MBR and BSD
disklabel support is *not* enabled, but documented.
2007-12-30 13:15:21 +00:00
xtraeme 507639572d Update itesio(4) comments. 2007-12-29 06:09:04 +00:00
dogcow 0a9401426e XEN only gets defined in opt_xen.h; move the ifndef check after the include. 2007-12-28 07:04:54 +00:00
joerg 53c1ce668c opt_physmem.h only exists for !Xen. 2007-12-27 21:31:35 +00:00
joerg df7753af9c Fix typo. 2007-12-27 16:50:43 +00:00
elad b1111e85d4 Compile in by default (disabled) PaX ASLR for amd64 and i386. 2007-12-26 23:00:50 +00:00
joerg 0edb50f1a2 Remove #if 0'ed microtime from the simulator days. 2007-12-26 16:39:27 +00:00
joerg 2b35d82f32 Add PHYSMEM_MAX_ADDR and PHYSMEM_MAX_SIZE options. This limit physical
memory based on overall size (useful for debugging to keep core dumps
small) or maximum address (when using devices with bus dma limits).
Contrary to REALBASEMEM and REALEXTMEM, they still use the BIOS memory
map and can therefore deal with fragmented memory.
2007-12-26 16:28:15 +00:00
yamt 2cbcb46f49 - share idt entry allocation code among x86.
- introduce a function to reserve an idt entry and use it instead of
  manipulating idt_allocmap directly.
- rename idt to xen_idt for amd64 xen.  add missing #ifdef XEN.
2007-12-26 11:51:10 +00:00
perry b6a2ef7569 Convert many of the uses of __attribute__ to equivalent
__packed, __unused and __dead macros from cdefs.h
2007-12-25 18:33:32 +00:00
hamajima 0e3cc22bed Add compat_13_netbsd32_sigreturn() for 32bits programs with COMPAT_13+EXEC_AOUT. 2007-12-24 17:35:00 +00:00
kiyohara 51311b8619 Remove white-spaces. 2007-12-24 07:54:26 +00:00
jmcneill 087888e1dd Add sony* at acpi? 2007-12-23 17:33:57 +00:00
dsl a1e817b5ba Define 'struct intrframe' in terms of 'struct trapframe' since the two are
assumed to match by a lot of code (including that which saves the regs).
This only slightly reduces the number of places the trapframe register
layout is defined.
2007-12-22 18:35:00 +00:00