Commit Graph

588 Commits

Author SHA1 Message Date
joerg
870cffb0ab Add new IPI for saving CPU state explicitly, share high-level part of
ACPI wakeup code and teach it how to start the APs again. As a side
effect the CPU_START interface allows choosing between different
bootstrap codes more easily now.
2007-12-18 07:17:08 +00:00
joerg
599a3a8e85 Revert, fixed differently. 2007-12-17 14:11:53 +00:00
jmcneill
381f4068ae Provide a stub acpi_md_sleep_init on xen, pointed out by Paul Goyette
on current-users.
2007-12-15 19:24:17 +00:00
perry
9b2b412c19 __FUNCTION__ -> __func__ 2007-12-15 00:39:14 +00:00
bouyer
ca0831b58a Remove obsolete code and comment. 2007-12-13 21:42:06 +00:00
bouyer
e2b280eabb cleanup the debug event handler to not use the IPL system at all. Fix
debug event storm on XEN2.
2007-12-12 22:16:32 +00:00
bouyer
200e86ecad Initialize ci_idepth in cpu_info_primary, makes LOCKDEBUG kernels boot. 2007-12-12 19:25:38 +00:00
bouyer
9ef60ea019 Make Xen kernels build again. 2007-12-10 13:39:06 +00:00
ad
065b6ba2fb lockmgr -> mutex 2007-12-06 17:00:31 +00:00
ad
4b293a84e1 Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
2007-12-03 15:33:00 +00:00
bouyer
eae5f92d0c IOCTL_PRIVCMD_MMAP*: instead of brutally enterring the new entries in
the process page table, properly uvm_unmap1() the VA range and enter a new
uvm_map backed by an object. There is a know race between uvm_unmap1() and
uvm_map(), where another thread could get our VA range; in practice
I think none of the softwares using this interface are multithreaded (or at
last they are single-threaded when using it).
2007-12-02 18:29:54 +00:00
ad
7960b954d7 Don't clear ci_want_resched in MD code; it's done in mi_switch(). 2007-12-02 16:37:58 +00:00
bouyer
e13d04bb9f Use __define__ instead of define, pointed out by christos. 2007-12-01 12:57:09 +00:00
bouyer
e1353de789 Back out previous, majors.amd64 in files.amd64 is inside ifndef xen/endif 2007-12-01 12:52:20 +00:00
dsl
2d7e52ccd2 Don't pull in majors.amd64 here, we get another copy from files.amd64
and config bleats like mad.
2007-11-30 22:56:05 +00:00
ad
a0b58b4601 Remove remaining CPUCLASS_386 tests. 2007-11-28 16:44:46 +00:00
ad
157ae0ddef Use the new atomic ops. 2007-11-28 16:40:40 +00:00
yamt
82d61b9ade - merge {i386,xen}/i386/trap.c.
- add a comment about a hack for xen2.
2007-11-28 14:02:30 +00:00
pooka
f9379f7719 a_l -> curlwp 2007-11-27 11:37:27 +00:00
pooka
61e8303e9d Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern
2007-11-26 19:01:26 +00:00
bouyer
e6190ce36f Ops, don't forget break in switch statements ... 2007-11-25 23:23:09 +00:00
bouyer
d3cd257630 Add support for the "protocol" entry in xenstore, which really specifies
the ABI used by the front-end (x86 32 or 64 bit). A linux 32bit PAE kernel
can now boot on a NetBSD 64bit dom0 and use the block devices.
2007-11-25 22:44:39 +00:00
bouyer
ec3e8e5c1c xpq_flush_queue(): cast values to u_int64_t and use PRIx64 in printf().
Fix build of i386 Xen kernels, reported by Hisashi T Fujinaka.
2007-11-23 09:54:33 +00:00
bouyer
4e54134323 Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
2007-11-22 16:16:40 +00:00
yamt
44cbe3d429 remove lock_machdep.c 2007-11-22 07:44:40 +00:00
ad
772ae8c190 G/C the PDP cache generation stuff. When allocating, just check for a valid
entry where nkpde currently points.
2007-11-19 21:46:51 +00:00
ad
dc26833bb6 - Factor out too many copies of the same bit of tty code.
- Fix another tty signalling/wakeup problem.
2007-11-19 18:51:36 +00:00
bouyer
29d8eba17f Properly setup the IO APIC for ISA and pciide compat interrupts too.
Makes ACPI kernels works again with pciide controllers in compat mode.
2007-11-18 18:44:17 +00:00
ad
deae4f32c5 Remove support for 80386 level CPUs. PR port-i386/36163. 2007-11-15 19:18:32 +00:00
ad
d3cd7e49e7 Remove pccons. 2007-11-14 17:58:50 +00:00
ad
9014362808 - Remove I486_CPU, I586_CPU, I686_CPU options. They buy us nothing and
clutter the code significantly.
- Remove pccons.
2007-11-14 17:54:56 +00:00
ad
6856a132b2 Merge cpu_need_resched() from vmlocking:
- Always do an aston(), even if not sending an IPI. May help with xine.
- Post asts on cpu_onproc, not ci_curlwp.
2007-11-12 19:02:26 +00:00
ad
39a25a40ee Make xen build again. 2007-11-11 01:27:43 +00:00
dogcow
f7e7508b3f HEAD still only has the 10-arg version of vmem_create 2007-11-08 07:50:03 +00:00
ad
d37935697b Merge tty changes from the vmlocking branch. 2007-11-07 15:56:11 +00:00
ad
f08b04c841 Make it compile. 2007-11-07 15:38:11 +00:00
ad
d18c6ca4de Merge from vmlocking:
- pool_cache changes.
- Debugger/procfs locking fixes.
- Other minor changes.
2007-11-07 00:23:13 +00:00
xtraeme
a2da5d58f1 xen/i386/cpu.c uses i686_mtrr_init_first if MTRR is defined, but
mtrr_i686.c wasn't built...
2007-10-26 22:33:23 +00:00
xtraeme
66ba6aa324 ichlpcib(4) lives in x86/pci these days... 2007-10-26 22:11:45 +00:00
xtraeme
3338a139da - Share pchb(4) between i386 and amd64; one copy is enough for both.
- Move some of the x86 PCI devices into x86/pci/files.pci.
- Add more x86 stuff into x86/conf/files.x86.

ok joerg.
2007-10-26 21:49:50 +00:00
joerg
930e1f6e1d Match delay/DELAY on x86 with delay(9). It takes an unsigned int as
argument. Use this and replace the inline assembly (mul + div using the
64bit intermediate result) with normal 32bit multiplication and
division. The compiler can turn the division into a multiplication and
shift, making it even cheaper then the original assembly. For extreme
long delays, just use 64bit arithmetic.
2007-10-26 13:24:39 +00:00
ad
bccf777b72 Make ras_lookup() lockless. 2007-10-24 14:50:38 +00:00
joerg
d238692c3e Initialise the callbacks for tty.t_rstrt_ch in ttymalloc
as all drivers but Sun/SPARC's kd.c use the same arguments.
Separate callout_reset into callout_schedule and the initial
callout_setfunc using that.
2007-10-18 18:54:56 +00:00
yamt
24a1632cb3 merge yamt-x86pmap branch.
- reduce differences between amd64 and i386.  notably, share pmap.c
  between them.  it makes several i386 pmap improvements available to
  amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option.  always use large pages if available.
  also, make it work on amd64.
2007-10-18 15:28:31 +00:00
garbled
d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
ad
9171fa2872 Comment out references to spinlockmgr(). 2007-10-10 17:44:39 +00:00
ad
36a1712707 Merge run time accounting changes from the vmlocking branch. These make
the LWP "start time" per-thread instead of per-CPU.
2007-10-08 20:06:17 +00:00
ad
2af68666da Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.
2007-10-08 16:41:05 +00:00
ad
2b42802f4e Repair the RAS check. 2007-09-28 17:02:39 +00:00
bouyer
784505d037 Ops, need to properly restore %esp after calling Xspllower(). 2007-09-27 21:14:04 +00:00