Commit Graph

787 Commits

Author SHA1 Message Date
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
dsl
89a3551a18 Create the trap/syscall frame space for all the registers in one go.
Use the tramp-frame offsets (TF_foo) for all references to the registers.
Sort the saving of the GP registers into the same order as the trap frame
because consequetive memory accesses are liekly to be faster.
2007-12-21 20:43:45 +00:00
dsl
9b0b44bbdc Change the xen CLI() and STI() defines to only use one scratch register.
As well as saving an instruction, in one place it saves a push/pop pair.
2007-12-21 19:18:13 +00:00