Commit Graph

5415 Commits

Author SHA1 Message Date
drochner 08285ba648 explicitely set ds, es, fs and gs to 0 before calling kvm86;
use the right places in the trap frame (the 4 segment registers which
get loaded on a rti to VM86 mode) to set them for BIOS calls
(we have never set them to anything but 0 before, so it didn't matter)
2002-07-14 14:39:44 +00:00
drochner ff2b8f83ec fix typo which made textmode check always succeed 2002-07-14 13:56:20 +00:00
drochner ef054011f7 -if getting info for a mode fails, print out the mode
and continue with the next
-check that text modes are VGA compatible (haven't seen it
 otherwise yet, but to be sure...)
2002-07-11 10:02:21 +00:00
drochner 1719b0ab59 get some more info out of the VESA BIOS and attach subdevices for
8-bit pseudo color and text modes
still doesn't do anything useful
(It would be easy to attach a wsdisplay, but we have to cooperate with the
PCI or ISA attached VGA drivers. There are open issues.)
2002-07-10 19:15:42 +00:00
drochner cd34aa2e82 add a function to read from the BIOS vm86
(most of it is already mapped to KVM, but it appears easier to me
to do it this way instead of a lot of range checks)
2002-07-10 19:09:35 +00:00
itojun 941a391c59 sync with GENERIC 1.501. comment out devices that are not present.
(you can strip it down even more by commenting out unneeded filesystems)
2002-07-10 08:41:28 +00:00
itojun 0e727055ba whitespace 2002-07-10 08:37:40 +00:00
kent 9dcee9625e Line 281-304:
Use %edi instead of %edx to keep destination address because memcpy() MAY
break %edx.
2002-07-10 05:56:44 +00:00
jdolecek f4e3c06369 always include ci_s*_locks in struct cpu_info, so that the size doesn't depend
on DIAGNOSTIC/LOCKDEBUG settings
2002-07-09 22:28:30 +00:00
drochner cff6339e49 attach "vesabios"
(well, not really yet)
2002-07-07 13:25:43 +00:00
drochner 2eb946d46c call kvm86's GPF handler 2002-07-07 13:24:36 +00:00
drochner 5641e4d726 Initialize the kernel vm86 code before autoconfiguration, so that
BIOS calls can be used for device probing etc.

And now it's getting nasty:
The kvm86 code needs a TSS, and it is most convenient to use proc0's
instead of doing some static allocation. (We might reconsider this if
we want to use vm86 for console initialization, ie much earlier.)
For the TSS slot to be allocated, we have to move the call to
i386_proc0_tss_ldt_init() up.
Since the npx code twiddles CR0 the corresponding pcb field must
be synchronized later. It would probably be cleaner to do this in
the npx driver.
2002-07-07 13:23:17 +00:00
drochner bc442c7173 -if APM_USE_KVM86 is set, use BIOS calls in virtual 8086 mode
-make sure the register frame is really cleared before use
 (someone added a field to the frame later which didn't get zeroed)
2002-07-07 13:06:56 +00:00
drochner da32c6df4a add definitions for the in-kernel vm86 code and vesabios attachment,
add an option APM_USE_KVM86 which does what its name implies
2002-07-07 13:03:47 +00:00
drochner c359f53282 First cut on VESA BIOS access to get extended video modes and framebuffer
access. For now, there is just probing code.
2002-07-07 12:59:58 +00:00
drochner 3b22d7973b This is a (still experimental) framework to run BIOS code in a virtual
8086 machine. Ifff it works, it is much easier and more elegant than
going to real real mode:
-simpler code
-no need for "identity" memory mappings
-easy passing of buffers for bulk data to functions
-some more control
There is no interrupt support ATM, and it lacks a function to access
random virtual memory of the VM. MP issues to consider.
2002-07-07 12:56:34 +00:00
abs eb73becae2 Ensure all INSTALL config files consistantly include PIPE_SOCKETPAIR,
MALLOC_NOINLINE, and VNODE_OP_NOINLINE. The exceptions are when they
include another config files that already defines the options, or if
they are for an embedded board, just define a few extra options, and
do not already define PIPE_SOCKETPAIR.
2002-07-05 13:40:10 +00:00
thorpej 011d4d5f44 Add kernel support for having userland provide the signal trampoline:
* struct sigacts gets a new sigact_sigdesc structure, which has the
  sigaction and the trampoline/version.  Version 0 means "legacy kernel
  provided trampoline".  Other versions are coordinated with machine-
  dependent code in libc.
* sigaction1() grows two more arguments -- the trampoline pointer and
  the trampoline version.
* A new __sigaction_sigtramp() system call is provided to register a
  trampoline along with a signal handler.
* The handler is no longer passed to sensig() functions.  Instead,
  sendsig() looks up the handler by peeking in the sigacts for the
  process getting the signal (since it has to look in there for the
  trampoline anyway).
* Native sendsig() functions now select the appropriate trampoline and
  its arguments based on the trampoline version in the sigacts.

Changes to libc to use the new facility will be checked in later.  Kernel
version not bumped; we will ride the 1.6C bump made recently.
2002-07-04 23:32:02 +00:00
fvdl ffb9c17b1c Match parameter decl of init386 with reality. 2002-07-04 10:22:20 +00:00
yamt 7b17e9ce50 add KSTACK_CHECK_DR0. 2002-07-03 02:46:11 +00:00
christos 2a01227008 Add example use of WSDISPLAY_CHARFUNCS, from Julio Merino 2002-07-01 13:19:05 +00:00
thorpej 7f2925365c Add the kttcp device. 2002-06-28 23:29:26 +00:00
pooka c558b464ba Assign COPTS instead of adding to it, avoids situation where -mi386
is mixed with -march=something_incompatible

suggested by thorpej
2002-06-27 20:44:08 +00:00
junyoung db4ede9522 Add VGA_CONSOLE_ATI_BROKEN_FONTSEL (disabled by default). 2002-06-27 06:34:23 +00:00
drochner 8e82746524 avoid assembler warning 2002-06-26 12:20:29 +00:00
yamt 175fe41cad stack frames can be overwrapped for eg. softintr. 2002-06-26 08:18:01 +00:00
drochner a548b203d4 use PCI_ID_CODE instead of a local macro (cosmetics) 2002-06-25 21:18:32 +00:00
lukem 214a01678d - replace all "scsibus* at XXXX" with a single "scsibus* at scsi?"
- replace all "atapibus* at XXXX" with a single "atapibus* at atapi?"
- replace all "audio* at XXXX" with a single "audio* at audiobus?"
- replace all "midi* at XXXX" (except "midi* at pcppi?") with a single
  "midi* at midibus?"
2002-06-25 03:12:04 +00:00
lukem e3b23eaafd Switch from pccons to wscons, so that USB keyboards have a chance of
working.  From Grant Beattie <grant@netbsd.org>, with changes by me.
2002-06-24 16:14:13 +00:00
itojun 9f911945d5 handle IDT-less case just as linux does 2002-06-24 10:10:17 +00:00
itojun fe3778040b tabify 2002-06-24 10:10:16 +00:00
itojun 241389f5d8 make it at least compile/link - copy change to i386/locore.s (1.255 -> 1.256)
not sure if it is correct
2002-06-24 10:05:54 +00:00
thorpej f89b062ae7 During native signal delivery (and iBCS2, since it uses the native
sigcode), arrange to have the signal handler invoked directly, using
the trampoline only for the return path, saving a call insn.  Play
some other stack trickery in the trampoline to turn 2 pushl's into
one movl.
2002-06-23 22:18:49 +00:00
fvdl 73f40b9030 Add bge@pci attachment. 2002-06-22 23:13:37 +00:00
gmcgarry 02ca40e27f Make this compile with NETIF_DEBUG. 2002-06-21 23:18:45 +00:00
ross f46b777e48 ca* at cac? ==> ld* at cac? 2002-06-21 22:57:55 +00:00
thorpej 3d7cdd4ec5 Add support for auxillary busses on the Intel 82452 PCI-Host
bridge.  PR 17353, from MOCHIDA Shuji.
2002-06-21 16:03:33 +00:00
christos 0b3fc0988b Regen. 2002-06-18 17:22:10 +00:00
christos 88612aefe1 ${CC} 2002-06-18 17:21:53 +00:00
christos 48b4953ba1 simplify: use hexdump to produce the output in the desired form instead
of massaging it with sed.
2002-06-18 17:21:33 +00:00
drochner 8d0aee4e8d make it compile with ACPI_DEBUG
(removing the half-done debugging support, sorry)
2002-06-18 10:32:02 +00:00
tron cee165577f Fix typo which caused a build failure for kernels with diagnostic checks. 2002-06-18 09:56:33 +00:00
tshiozak 2d5fc6d0a9 add MD support for ACPI sleep/wakeup. 2002-06-18 07:56:12 +00:00
tshiozak 0c0fe6076b use AcpiHwRegister{Read,Write} functions instead of (obsoleted)
AcpiHwBitRegister{Read,Write}.
2002-06-18 07:53:05 +00:00
tshiozak c6d5efc480 auto-generated code from acpi_wakecode.S.
standard update process of this file :
  1. fix acpi_wakecode.S .
  2. commit acpi_wakecode.S .
  3. make -f Makefile.wakecode
  4. commit acpi_wakecode.h .
2002-06-18 07:41:15 +00:00
tshiozak 4ba1b15b75 add a code to embed RCS tag of acpi_wakecode.S in acpi_wakecode.h . 2002-06-18 07:37:37 +00:00
tshiozak 834397e5a9 ACPI wake-up code for i386. but, we have no interface to use it efficiently. 2002-06-18 07:25:12 +00:00
itojun 7eba810efa s/options\t\t/options \t/ 2002-06-18 03:06:58 +00:00
christos 1fb8545c60 Copyright and comment clarification from Masanori-san. 2002-06-18 02:42:16 +00:00
christos d0497fdbca glue for MD acpi devices. 2002-06-17 22:38:31 +00:00
christos 5d3a22f6d5 Move MI drivers here. Approved by thorpej 2002-06-17 22:38:03 +00:00
fvdl 42d8b412ee Add XMM trap type. 2002-06-17 21:38:20 +00:00
christos 3b50728cf4 MD systrace gluons. 2002-06-17 16:32:57 +00:00
lukem fde6ae6f04 Enable "pseudo-device clockctl" in all kernels, except
installation related kernels (INSTALL* and RAMDISK*).
This enables rc.conf(5) $ntpd_chroot to be used "out of the box"
2002-06-17 05:14:02 +00:00
thorpej 17848b05a8 Update for acpica-unix-20020612. From Takayoshi Kochi. 2002-06-15 18:01:05 +00:00
itohy ece09443af s/XHOLE_VEC/XHOLD_VEC/ 2002-06-10 14:52:21 +00:00
tron 98568ec314 Add missing calls to bus_space_unmap(9) when the hardware RNG is not
detected, cannot be activated or doesn't work.
2002-06-09 15:02:25 +00:00
gmcgarry 94b4a243e6 Support Athlon performance counters. 2002-06-07 04:04:47 +00:00
gmcgarry 3acf6ed1d8 Add Athlon performance counters. 2002-06-07 04:03:49 +00:00
gmcgarry 72fe1c3076 Add i586 performance counters. 2002-06-07 01:30:19 +00:00
gmcgarry 4db43b2db0 Include PERFCTRS to match MTRR option. Now pmc(1) does something useful. 2002-06-06 21:16:47 +00:00
thorpej d941ddfee0 Don't use -traditional-cpp if HAVE_GCC3. 2002-06-04 21:39:09 +00:00
drochner d2b9876081 move initialization of the "struct pglist" returned by uvm_pglistalloc()
from the calling code into uvm_pglistalloc() itself for consistency
and easier error handling
2002-06-02 14:44:35 +00:00
lukem 06de426449 SIMPLEQ rototill:
- implement SIMPLEQ_REMOVE(head, elm, type, field).  whilst it's O(n),
  this mirrors the functionality of SLIST_REMOVE() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE()
- remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD().
  this mirrors the functionality of SLIST_REMOVE_HEAD() (the other
  singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD()
- remove notes about SIMPLEQ not supporting arbitrary element removal
- use SIMPLEQ_FOREACH() instead of home-grown for loops
- use SIMPLEQ_EMPTY() appropriately
- use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly
- reorder manual page; be consistent about how the types are listed
- other minor cleanups
2002-06-01 23:50:52 +00:00
itojun 937b671271 use exit(int), not exit(void), consistently - even if the arg has no meaning. 2002-06-01 11:40:31 +00:00
thorpej 28afbb384c Build with -ffreestanding. 2002-05-31 18:26:26 +00:00
thorpej 6ef955a02d Make this work with an ISO C preprocessor. 2002-05-31 18:22:54 +00:00
thorpej 3a00c62229 Move the IDTVEC() macro to <machine/asm.h>, and make it work with
an ISO C preprocessor.
2002-05-31 18:07:31 +00:00
thorpej a5baff6d08 Add an __unused__ attribute to n_support and n_lower, since they are
unused if a kernel supports all CPU families.
2002-05-31 17:46:51 +00:00
tron 0f15ab8163 Remove senceless benchmark loop for i8xx hardware random generator
attach code. The throughput was neither calculated nor displayed.
2002-05-28 17:25:43 +00:00
tron 94d3fd0f89 Add hardware random generator support for Intel i845, i850 and i860
chipsets.
2002-05-28 17:23:07 +00:00
jmcneill 2f2e418115 Add explanation for PMS_DISABLE_POWERHOOKS, as requested by hubertf. 2002-05-25 17:05:33 +00:00
jmcneill f70f5218cf Add a 'tlp at pci' attachment to the laptop installation kernel. GENERIC_LAPTOP
already has this, and some machines (notably, mine :) ) have onboard tlp and
won't boot with INSTALL or GENERIC.
2002-05-18 23:49:40 +00:00
thorpej 204183c0fa * Add "pcitag_t *pba_bridgetag" to pci_attach_args. This is set to
NULL for root PCI busses.  For busses behind a bridge, it points to
  a persistent copy of the bridge's pcitag_t.  This can be very useful
  for machine-dependent PCI bus enumeration code.
* Implement a machine-dependent pci_enumerate_bus() for sparc64 which
  uses OFW device nodes to enumerate the bus.  When a PCI bus that is
  behind a bridge is attached, pci_attach_hook() allocates a new PCI
  chipset tag for the new bus and sets it's "curnode" to the OFW node
  of the bridge.  This is used as a starting point when enumerating
  that bus.  Root busses get the OFW node of the host bridge (psycho).
* Garbage-collect "ofpci" and "ofppb" from the sparc64 port.
2002-05-16 01:01:28 +00:00
thorpej dada8613e1 Let machine-dependent code specify how to enumerate the bus.
Currently, everyone uses pci_enumerate_bus_generic().
2002-05-15 19:23:51 +00:00
mrg 32c1ebcb8b complain if we can't get the recording drq at attach time. 2002-05-15 18:14:41 +00:00
yamt b70f1bdb62 - don't use ENTRY() macro for data.
- fix calculation of bit offset of DR7.
2002-05-14 14:22:33 +00:00
matt 0dc8ee943d Eliminate more commons or redundant declarations. 2002-05-14 02:58:32 +00:00
matt 075e474458 Eliminate commons. 2002-05-12 23:16:52 +00:00
jdolecek 77a65b5e56 use _KERNEL_OPT rather than _KERNEL && !_LKM 2002-05-11 09:39:25 +00:00
itohy d2a97e2196 _C_LABEL() police 2002-05-10 23:21:17 +00:00
thorpej 51ea83a9f5 Remove last vestiges of procfs references. Problem pointed out
by Geoff Wing <mason@primenet.com.au>.
2002-05-10 05:45:50 +00:00
thorpej b6950c9729 Mirror cleanup wrt. procfs-centric naming made to the MI ptrace code. 2002-05-09 16:28:11 +00:00
thorpej f1f51aa2b8 Move code shared by procfs and the kernel proper out of procfs and
into the kernel proper (renaming functions from procfs_* to process_*).
2002-05-09 15:44:44 +00:00
mycroft bfea3f39cb Wire CLKF_BASEPRI() to 0 on this platform. (See tech-kern.) 2002-05-08 18:45:49 +00:00
ad 77e08f053a Add a driver for Adaptec FSA RAID controllers, as often found in Dell
servers. Based on the FreeBSD/OpenBSD versions.
2002-04-26 02:05:07 +00:00
wiz 7ef7b3071d Another options<TAB> -> options<SP><TAB>, noted by Patrick Welche. 2002-04-25 15:22:44 +00:00
atatat d1b3852365 Add the INCLUDE_CONFIG_FILE option to all config files. In config
files that are generic (ie, GENERIC, GENERICSBC, GENERIC32, ALL, or
ALPHA), it is uncommented.
2002-04-25 15:06:20 +00:00
kleink 8f5a689d48 Attach joy* at eso?. 2002-04-25 00:54:54 +00:00
ad 9a09578e25 Add a driver for ICP-Vortex GDT and Intel Storage RAID controllers. Parts
taken from OpenBSD. Test hardware kindly provided by Intel. This still needs
management bits, and doesn't support older controllers, but that shouldn't
be hard to fix.
2002-04-22 21:05:19 +00:00
wiz c6dc851f64 Remove opms(4) and its device, /dev/pms0, from the i386 port, because
it has been obsoleted by pms(4).

Reviewed by fvdl and christos.
2002-04-18 12:54:09 +00:00
bouyer 618e11b77d Add (commented out) options SIOP_SYMLED 2002-04-18 12:06:11 +00:00
hubertf 0ee29be147 add appropriate description 2002-04-17 23:23:49 +00:00
mycroft f61e8b1c43 Per PR 13668, add tlp at pci. 2002-04-17 11:52:47 +00:00
mycroft 558b4fb278 Switch from de to tlp by default. 2002-04-17 02:22:41 +00:00
thorpej eedd94475c * Move the mii_bitbang attribute into dev/mii/files.mii
* Pull in dev/mii/files.mii from conf/files, rather than playing
  the magic "files include order" dance in N machine-dependent
  configuration definitions.
2002-04-16 20:50:16 +00:00
wiz 5040dc6d7d Remove last(?) traces of pmsi. 2002-04-16 11:49:54 +00:00
mycroft 69bae7ce64 Add wm. 2002-04-15 15:00:18 +00:00
lukem fdc8fec66f allow default colours to be overridden by
PCCONS_DEFAULT_FG PCCONS_DEFAULT_SO_FG
	PCCONS_DEFAULT_BG PCCONS_DEFAULT_SO_BG
2002-04-14 14:20:33 +00:00
mycroft 92719d60d8 The functionality of pmsi has been implemented in pms, so it's time for pmsi
to go back where it came from.
2002-04-14 01:42:52 +00:00