Commit Graph

106008 Commits

Author SHA1 Message Date
jruoho
1392a1cea1 Move the GAS definition to the header so it can be shared. Make a basic
sanity check before casting to the GAS. Rename the _CSD structure; the
optional "cross logical processor dependency information" is almost
identical in C, P, and T states. Add some comments to the header.
2010-07-27 05:11:32 +00:00
jym
da702eb93d Add PAE to ALL kernel, so that most paddr_t format string errors get caught
during compilation.

While here, fix the compilation for ALL.
2010-07-26 22:33:23 +00:00
pooka
07196c5dd8 Descend into nfsserver, i.e. build & install the kernel nfs server bits. 2010-07-26 15:55:41 +00:00
jakllsch
a08c2fef18 Store information for bus_dmamem_unmap() and bus_dmamem_free()
somewhere outside the bus_dmamap_t. The bus_dmamap_t has already
been destroyed by this time.

Fixes DMA memory leak at siisata_detach() time.
2010-07-26 15:41:33 +00:00
hannken
87506b0c16 When both vget() and vrelel() call vn_lock() we know VI_XLOCK is clear.
No need to use LK_INTERLOCK or LK_RETRY here.
The return value of vn_lock() is already examined here.

Ok: Antti Kantee <pooka@netbsd.org>
2010-07-26 15:22:16 +00:00
jruoho
6ba3ba49aa Fix wrong return value. 2010-07-26 15:14:33 +00:00
njoly
9cd958c424 Make sysvbfs rename work for filenames longer than {NAME_MAX}. 2010-07-26 13:43:26 +00:00
christos
f0a414ccfb follow suit with the i386, and correct the siginfo codes for integer overflow
and zerodivide.
2010-07-26 12:39:04 +00:00
pooka
dadac8f503 Add select to list on compat syscalls. Makes some code work for
me with a nb5 userland without having to compile with -g ;)
2010-07-26 11:52:25 +00:00
christos
4d3eef173b map npx control/status codes into siginfo codes. 2010-07-25 19:19:57 +00:00
christos
4e9585b5e0 PR/43655: Taylor R Campbell: Incorrect siginfo code's for integer zero
divide and overflow.
2010-07-25 19:19:06 +00:00
jruoho
0ad9aaa477 Improve comments. Move the #ifdef around. 2010-07-25 17:44:01 +00:00
jruoho
fe682d3527 Add PNP0B01 and PNP0B02, both variants of the PC/AT RTC. From the spec. 2010-07-25 16:23:51 +00:00
pgoyette
3dcc05c105 Move setting of mii_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
2010-07-25 14:44:34 +00:00
pgoyette
ddb4821198 Move setting of pci_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
2010-07-25 14:14:25 +00:00
pgoyette
9a4527ab45 Move setting of scsi_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
2010-07-25 13:49:58 +00:00
pgoyette
444ff5f1e3 Move setting of the usb_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
2010-07-25 13:19:27 +00:00
pgoyette
1587dcc60f Move setting of acpi_verbose_loaded flag into the module's init routine.
This ensures that the flag is set even if the module was manually loaded
by the user rather than just auto-loaded.
2010-07-25 12:54:46 +00:00
jym
c0cbdbdca3 Add reference to mach_syscallnames. Spotted by compiling ALL. 2010-07-25 11:25:57 +00:00
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
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
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
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
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