Commit Graph

192483 Commits

Author SHA1 Message Date
hannken 1968478248 Add an assertion: it makes no sense to call vget() with LK_RETRY. 2010-07-25 10:23:40 +00:00
hannken 99afd136d0 It makes no sense to call vget() with LK_RETRY. 2010-07-25 09:54:37 +00:00
mrg a20af8d9db remove the MKSUBPIXEL/MKTTINTERP options; they're going away.
regenerate.
2010-07-25 07:19:00 +00:00
wiz 175d1b7510 Bump date for PAE. New sentence, new line. 2010-07-25 07:09:02 +00:00
mrg a2fdb48cbf default the subpixel renderer and tt interpreter to enabled. 2010-07-25 02:25:29 +00:00
jym a3ce617f48 Document PAE. 2010-07-24 23:09:32 +00:00
jruoho cc774b9046 Remove the currently unnecessary mutex. 2010-07-24 22:44:00 +00:00
jruoho f534f13d87 Revert the previous partially for the time being. 2010-07-24 21:53:53 +00:00
jakllsch c1a0b4eaa8 correct transposition in comment 2010-07-24 17:55:54 +00:00
njoly 744259c24f Pull i386 pte.h on amd64 for 32bit compat. 2010-07-24 17:43:47 +00:00
tsutsui 46e6b513a9 Rename some void * arg variables.
"self" implies device_t so it shouldn't be used for void pointers
passed as wsmouse cookie or callout function args.
2010-07-24 15:33:12 +00:00
isaki 09e97aa9a0 Probe not only Nereid Ctrl port but also SL811HS/T port. 2010-07-24 13:15:13 +00:00
jruoho 6f76995c42 Move ACPI_FLUSH_CPU_CACHE() (a.k.a. WBINVD on x86) to MD headers where it
belongs to. Let IA-64 define its own function/instruction instead of
requiring a dummy wbinvd() to satisfy the definition in a MI header.
2010-07-24 09:35:36 +00:00
cegger 17310da7fe add AMD OSVW MSRs 2010-07-24 08:02:46 +00:00
jruoho 006053be9e Remove acpica_machdep.h. 2010-07-24 07:46:52 +00:00
jruoho 0b4b6bc33b Remove empty file. 2010-07-24 07:31:19 +00:00
jruoho cb59d41daa Update and fix a typo. 2010-07-24 06:10:43 +00:00
jym d94742232d Welcome PAE inside i386 current.
This patch is inspired by work previously done by Jeremy Morse, ported by me
to -current, merged with the work previously done for port-xen, together with
additionals fixes and improvements.

PAE option is disabled by default in GENERIC (but will be enabled in ALL in
the next few days).

In quick, PAE switches the CPU to a mode where physical addresses become
36 bits (64 GiB). Virtual address space remains at 32 bits (4 GiB). To cope
with the increased size of the physical address, they are manipulated as
64 bits variables by kernel and MMU.

When supported by the CPU, it also allows the use of the NX/XD bit that
provides no-execution right enforcement on a per physical page basis.

Notes:

- reworked locore.S

- introduce cpu_load_pmap(), used to switch pmap for the curcpu. Due to the
different handling of pmap mappings with PAE vs !PAE, Xen vs native, details
are hidden within this function. This helps calling it from assembly,
as some features, like BIOS calls, switch to pmap_kernel before mapping
trampoline code in low memory.

- some changes in bioscall and kvm86_call, to reflect the above.

- the L3 is "pinned" per-CPU, and is only manipulated by a
reduced set of functions within pmap. To track the L3, I added two
elements to struct cpu_info, namely ci_l3_pdirpa (PA of the L3), and
ci_l3_pdir (the L3 VA). Rest of the code considers that it runs "just
like" a normal i386, except that the L2 is 4 pages long (PTP_LEVELS is
still 2).

- similar to the ci_pae_l3_pdir{,pa} variables, amd64's xen_current_user_pgd
becomes an element of cpu_info (slowly paving the way for MP world).

- bootinfo_source struct declaration is modified, to cope with paddr_t size
change with PAE (it is not correct to assume that bs_addr is a paddr_t when
compiled with PAE - it should remain 32 bits). bs_addrs is now a
void * array (in bootloader's code under i386/stand/, the bs_addrs
is a physaddr_t, which is an unsigned long).

- fixes in multiboot code (same reason as bootinfo): paddr_t size
change. I used Elf32_* types, use RELOC() where necessary, and move the
memcpy() functions out of the if/else if (I do not expect sym and str tables
to overlap with ELF).

- 64 bits atomic functions for pmap

- all pmap_pdirpa access are now done through the pmap_pdirpa macro. It
hides the L3/L2 stuff from PAE, as well as the pm_pdirpa change in
struct pmap (it now becomes a PDP_SIZE array, with or without PAE).

- manipulation of recursive mappings ( PDIR_SLOT_{,A}PTEs ) is done via
loops on PDP_SIZE.

See also http://mail-index.netbsd.org/port-i386/2010/07/17/msg002062.html

No objection raised on port-i386@ and port-xen@R for about a week.

XXX kvm(3) will be fixed in another patch to properly handle both PAE and !PAE
kernel dumps (VA => PA macros are slightly different, and need proper 64 bits
PA support in kvm_i386).

XXX Mixing PAE and !PAE modules may lead to unwanted/unexpected results. This
cannot be solved easily, and needs lots of thinking before being declared
safe (paddr_t/bus_addr_t size handling, PD/PT macros abstractions).
2010-07-24 00:45:54 +00:00
cegger 84847a78fe use __arraycount 2010-07-23 22:31:35 +00:00
phx aa177d77fa Erroneously committed my test code. Reverted to 1.9. 2010-07-23 20:04:52 +00:00
phx 11fbee9ae9 Fixed error in loop counter variable for lba_read().
Patch by Toru Nishimura.
2010-07-23 20:01:27 +00:00
pooka 83c92bb41d Make it possible to set the retry timeout as a compile-time define.
This is useful for automated environments where everything (rpcbind,
mountd, nfsd and the client) is started in parallel in a split
second and there is a small chance we will race in there before
everything has been communicated to rpcbind.
2010-07-23 19:25:23 +00:00
pooka 8b9126ba6d If a thread wake up spuriously, re-set l_mutex to make sure it's
still at the original value and not the schedstate one.  This makes
select not miss wakeups in cases where there was a lot of selecting
going on (which is not all that common in a rump kernel).
2010-07-23 19:14:14 +00:00
jruoho 4127064077 Make sure we use MWAIT with MONITOR.
Also clarify when we have interrupts disabled.
2010-07-23 13:54:21 +00:00
jruoho 00ad9caa92 Add a new flag that determines whether we should check for bus master
activity (BM_STS) by reading from the PM1 register. According to the Intel
processor specification for ACPI, the FFH GAS encoding may provide a hint
that the check is not required. This may help some systems to enter C2/C3
even when e.g. usb(4) keeps the BM_STS bit always enabled.
2010-07-23 08:11:49 +00:00
jruoho 44091f0125 Remove the recently added ACPICPU_FLAG_INIT and instead operate with the
existing ACPICPU_FLAG_C, as was intended. Set that flag only after the
idle-loop has been installed, so that the notify handler errors out if an
interrupt is received before the idle-loop is in place.
2010-07-23 05:32:02 +00:00
christos 14feab4408 document more unimplemented syscalls 2010-07-23 02:46:12 +00:00
jakllsch 1bccaf8fad Finish cleaning up pchb from recent change.
Use fewer magic numbers in ichlpcib.
Slightly improve style conformance.
Update paths in cpp re-inclusion guards.
2010-07-23 02:23:58 +00:00
jakllsch e7eb790b7b Note x86/fwhrng(4) replacement for rnd(4) support in x86/pchb(4). 2010-07-23 00:50:39 +00:00
jakllsch 897b6b7d94 Almost entirely rework Intel Firmware Hub random number generator support.
This introduces fwhrng(4) which attaches via ichlpcib(4), replacing
the rnd(4) support in pchb(4).
2010-07-23 00:43:20 +00:00
pooka f3c8997bfe Reset l_mutex when waking up a thread. select uses it to determine
if a thread is still selecting, and would get a KASSERT panic if
the thread had been woken up but not run yet when selnotify() was
called.
2010-07-22 21:00:07 +00:00
wiz 591b4ec0ca Bump date for _PC_NO_TRUNC description fix. 2010-07-22 19:28:25 +00:00
wiz 453702d2c1 Add comma in enumeration. 2010-07-22 19:27:51 +00:00
njoly dcf57cdbc8 Fix wrong value (1 -> 0) in _PC_NO_TRUNC description. 2010-07-22 18:20:21 +00:00
njoly feeade32b4 Remove bad cast, fix compilation with MSDOSFS_DEBUG. 2010-07-22 18:08:11 +00:00
pgoyette aabfc9142c Even if there's an error in attaching the device (failure to find IRQ
resource, or I/O mapping), set-up a power management handler so we can
sleep later on.
2010-07-22 16:35:24 +00:00
pgoyette 01497b95ec Convert swwdog(4) from a simple defpseudo device to a defpseudodev so
that we can attach a power management handler.  The handler prevents
a suspend if the watchdog is active, to be consistent with other
watchdog drivers.

As discussed on tech-kern.
2010-07-22 14:10:14 +00:00
tsutsui 95c959ca44 In wsfont_rotate_cw_internal() and wsfont_rotate_ccw_internal(),
give a new name to rotated fonts so that 8x8 (and other X==Y) fonts
can be used properly on CW and CCW screens.
2010-07-22 13:23:02 +00:00
tsutsui 23800f3d5c Umm, revert unintended changes. 2010-07-22 12:52:59 +00:00
tsutsui 476a3c873b Add VT220 8x8 font with ISO-8859-1 chars which is converted from
sys/arch/atari/dev/font_8x8.c.
2010-07-22 12:48:00 +00:00
christos a03437fae7 Add more debugging printfs 2010-07-22 03:19:02 +00:00
christos 7ec5588a25 fix wrong preprocessor symbol. 2010-07-22 03:18:30 +00:00
jakllsch e7bf96a4c3 Further silence ipsec_attach().
"initializing IPsec..."" done" is of somewhat limited value.
(I normally wouldn't care; but on my box the (root) uhub(4)s attach
between the first and last portion of the line.)
2010-07-21 20:41:31 +00:00
christos 0ccb4e68f8 refresh only on SIGCONT not SIGWINCH from Edward Sheldrake 2010-07-21 18:18:52 +00:00
hannken fb62bef947 Make holding v_interlock mandatory for callers of vget().
Announced some time ago on tech-kern.
2010-07-21 17:52:09 +00:00
jmmv 8a0380e301 before_start_one_thread is not racy only in amd64; my confusion. Mark it
as an xfail everywhere and, while doing so, make the test longer so that
we trigger the failure all the time -- of course, being a race this may
still happen but the chances should be pretty low.
2010-07-21 17:23:08 +00:00
msaitoh 5793a7f911 Use ether_set_ifflags_cb() 2010-07-21 15:35:39 +00:00
cegger d36c53b8ff ACPI enumerates cpus with 0..n.
Fixes panic reported by Patrick Welche on current-users@
Fixes panic on my own HP Pavilion laptop
2010-07-21 14:59:31 +00:00
tsutsui 632b7e4671 Make FONT_VT220L8x16 default for aesthetics.
XXX1: Is it better to use FONT_VT220ISO8x16?
XXX2: Should we change the default font from FONT_BOLT8x16 in MI wsfont.c?
2010-07-21 12:16:54 +00:00
tsutsui ca6f0203c1 Fix typo in comment. 2010-07-21 12:12:58 +00:00