Commit Graph

5032 Commits

Author SHA1 Message Date
wiz
c79d6f4378 Fix typo in comment reported by Yuji Yamano in kern/12391. 2001-03-12 17:26:37 +00:00
thorpej
2c4c690f14 Add the BUS_DMA_STREAMING flag. 2001-03-07 22:42:16 +00:00
mycroft
237ef77d7f Optimize a little more for the case where `off' is entirely covered by one
mbuf -- which is always is.
2001-03-06 19:20:51 +00:00
mycroft
f7a6910822 Rework the in4_cksum() code a bit. 2001-03-06 19:14:37 +00:00
fvdl
e55dd7530b Use assembly version of in4_cksum (which is a piece of code that
does some of the extra work and then jumps into in_cksum).
2001-03-06 14:55:13 +00:00
itojun
fb90007fcb sync with GENERIC 1.400 2001-03-04 07:34:20 +00:00
lukem
3aeb5f2f29 whitespace police 2001-02-24 01:59:46 +00:00
lukem
acec2828d9 whitespace police 2001-02-24 01:34:28 +00:00
lukem
a1602a24ec don't assume that all the arguments to ctags will fit on one command line
(as is the case with a longer SYSDIR)
2001-02-22 04:40:43 +00:00
jdolecek
efd32026ab make default_consinfo and kgdb_devname[] const 2001-02-21 22:52:03 +00:00
jdolecek
522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
nathanw
3862a24d20 Remove prototype for long-defunct i386_user_cleanup().
Remove duplicate prototype for i386_{set,get}_ldt() from sys_machdep.c.

Change i386_iopl() and i386_{set,get}_{ldt,ioperm}() to take a second
argument of "void *" instead of "char *", for consistency with other syscalls.
2001-02-14 01:29:45 +00:00
chs
2ff77ab154 fix REALBASEMEM/REALEXTMEM and defopt them while we're at it. from jason. 2001-02-11 19:03:47 +00:00
mycroft
d3f45f8053 Update to the current state of the world. 2001-02-11 10:40:51 +00:00
mycroft
c36eeffed0 Make this a little more realistic. 2001-02-09 19:12:08 +00:00
christos
6bf4ad97d6 appease lint: use u_int32_t and name the bit fields. 2001-02-08 17:54:43 +00:00
chs
755889bc0b clear pcb_onfault before calling uvm_fault() and restore it afterward.
if the fault handler generates a pagefault, we'd like to panic rather
than invoking the onfault handler.
2001-02-05 11:12:05 +00:00
perry
65e351a124 keep joystick lines together 2001-02-04 17:36:03 +00:00
ad
8d75ab98d3 Add a driver for the Mylex DAC960 family (including DEC SWXCR). 2001-02-04 17:05:11 +00:00
fvdl
fbd66cd154 Add COMPAT_15 2001-02-02 10:53:48 +00:00
tshiozak
d3545308ee add umidi. 2001-01-30 23:32:34 +00:00
chuck
9f82193c0e ignore garbage left in registers by some APM bios (IBM thinkpad) when
event is a duplicate.

gets rid of annoying "APM get event: unknown error code (0x530b)" messages.

PR#12067 (YAMAMOTO Takashi)
2001-01-29 19:26:36 +00:00
nathanw
88fbd1edd4 Add joy at pnpbios. 2001-01-28 00:50:23 +00:00
nathanw
5028590f77 PNPBIOS joystick attachment. 2001-01-28 00:37:52 +00:00
fvdl
f2b255d7c2 Don't use pmap_enter in vmapbuf. This is essentially a reversal of
revision 1.76. It avoids problems where an I/O interrupt for physio,
using a bounce buffer, would find the destination address mapped
read-only because the syncer process hit.

Suggested by Chuck Cranor.
2001-01-25 20:14:28 +00:00
jmc
5fe51991eb Enable MFS. This will allow /dev to be built on mfs. 2001-01-24 18:08:26 +00:00
augustss
5704d1e2b8 Uncomment the uftdi driver. 2001-01-23 01:44:38 +00:00
ichiro
5760a7d243 add I/O DATA USB-RSAQ2 serial adapter
uplcom* at uhub? port ?
ucom*   at uplcom? portno ?
2001-01-23 01:27:23 +00:00
augustss
62fe0f7f69 Add clct(4) driver. 2001-01-22 01:39:05 +00:00
thorpej
ccea4c274b Avoid doing Very Bad Things by passing a horrible IRQ value to
npxprobe1().  Fixes a problem on IBM Thinkpads reported by
Chuck Cranor.
2001-01-21 04:55:48 +00:00
chuck
b7d7186f4e fix problem detected on IBM thinkpads when running apmd:
when the display is closed, the machine suspends (as expected).
	when the display is opened again, it resumes and suspends again
	(must manually wake).

problem happens because driver fills the event queue with duplicate
events without allowing apmd to drain it by running.   fix it by
improving detection of duplicate events.

also cleanup and add some extra APMDEBUG code.
2001-01-21 03:23:31 +00:00
lukem
81685caeed a few things depend upon assym.h, so add appropriate dependencies. 2001-01-20 07:18:06 +00:00
thorpej
36607aea63 In the ELF case, use the kern.ldscript unless overridden by the kernel
config file.
2001-01-20 01:05:53 +00:00
thorpej
6970f51de0 Add a linker script for the kernel, which places _etext after
all of the read-only data.  Move _etext after all the read-only
data in the LARGEPAGES script, as well.

This will cause const data to actually be const on i386 kernels now
(it was, by sheer luck, on LARGEPAGES kernels simply because of the
section rounding that the LARGEPAGES script performed).
2001-01-20 01:05:23 +00:00
fvdl
f41a35188a Actually, specify the number pf ptys explicitly anyway, omitting
the number and thus having the default value was probably a mistake
(16 would be too few).
2001-01-19 14:44:11 +00:00
fvdl
01c07896a6 Update for reality (same as in use on the actual machine, except that
-current doesn't require the number of ptys to be specified).
2001-01-19 14:29:20 +00:00
martin
c423d2c0f9 Add support for another PCMCIA ISDN card: Sedlbauer speed star II.
While there fix two outdated comments.
2001-01-18 22:13:59 +00:00
tv
e58532a4bf No-op commit to force update to a non-"-kk" revision. 2001-01-18 17:47:58 +00:00
jdolecek
d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
fvdl
cd7c1e7cc9 The actual i386 implementation for /proc/cpuinfo. 2001-01-17 01:21:12 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
fvdl
0546607276 Export some variables. 2001-01-17 00:03:02 +00:00
sommerfeld
e8d906afaa Validate gate targets.
Fix by myself and Charles Hannum.
2001-01-16 23:32:21 +00:00
augustss
46130fb7e5 Add uyap. 2001-01-16 03:38:22 +00:00
mycroft
b9e3ed1f0a Allow read-write descending memory segments (not that anybody ever uses
descending segments).
2001-01-16 01:50:36 +00:00
martin
a261276f16 The i4b raw b-channel devices actually do have an ioctl routine,
so better add this to the cdevsw entry.
Noted by Bruno Achauer.
2001-01-14 11:17:28 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
simonb
38de3f1a70 Enable the APM_IOC_DEV_CTL ioctl. Works at least for turning off & on
a LCD screen on a Dell Inspiron 5000e (and probably many others).
2001-01-12 03:36:50 +00:00
augustss
d968e32c3a Add usscanner. 2001-01-11 06:03:21 +00:00
thorpej
3a7c4f5973 Don't panic if we detect an IRQ combination that can't be shared,
just return NULL.
2001-01-10 01:15:32 +00:00
fvdl
5395f63f35 Revert apparently accidental commit. 2001-01-09 12:03:15 +00:00
enami
7a36660307 If there remains no memory in a segment after we chopped off ``the last
page,'' skip the segment.  Fixes boot problem on Compaq ProLiant ML370
reported at current-users by Mark Davies.
2001-01-09 03:45:49 +00:00
lukem
7a9f0b9a95 sync to GENERIC 1.390:
- add an NIC & vlan
- add auich, esm, neo audio
2001-01-09 00:47:18 +00:00
lukem
6ac8983e9d sort auich in respect to auvia 2001-01-09 00:40:53 +00:00
martin
f53c899649 Add isdn devices to all archs that seem to support at least one of the
necessary busses. Sync comments with reality for archs that already had
the devices.
2001-01-08 21:46:33 +00:00
rh
c6274d6e3d Add and enable the esm PCI audio driver 2001-01-08 20:48:11 +00:00
fvdl
3947143db7 Define __HAVE_OLD_DISKLABEL in <machine/types.h> for i386 (where the
other __HAVE_* defines are). Conditionalize definition of old
disklabel struct and ODIOC* definitions on it, allowing other ports
to bump the number of partitions in the label if they want to
(see comment in sys/disklabel.h).
2001-01-07 17:55:40 +00:00
martin
7e14d8a67c Cosmetics 2001-01-05 23:58:02 +00:00
martin
ebb91e152f Disable the daic driver for now. It's microcode handling needs
some thougths (legal problems), and the driver is not ready
for prime time anyway.
2001-01-05 23:22:01 +00:00
tsutsui
8303e98e40 Fix typo (s/req/reg/). 2001-01-05 19:08:04 +00:00
aymeric
6a808ce8c8 Initialize VIA Technologies' 82C686's ICU as if it were a 82C586.
This fixes interrupt allocation problems on modern Compaq laptops.
2001-01-05 18:39:12 +00:00
martin
242656c78a Enable the imported ISDN4BSD based ISDN subsystem.
This is the kernel part (userland to follow soon) of the latest (and
very probably last) release (version 0.96) of ISDN4BSD. ISDN4BSD has a
homepage at http://www.freebsd-support.de/i4b/.

It gives the user various ways to use the isdn connection: raw data (via
the i4brbch "raw b-channel" device), ppp (via the isp "isdn PPP" device),
voice/answering machine (the i4btel "telephone" device) and ip over isdn
(the ipr device, "IP over raw ISDN").

Supported are a bunch of common and older cards, more to be added soon
after some cleanup. Currently only the european E-DSS1 variant of the
ISDN D channel protocol is supported.
2001-01-05 13:09:15 +00:00
martin
c3cb638bca Initial import of ISDN4BSD release 0.96 2001-01-05 12:49:52 +00:00
thorpej
d04f6f6d57 Just garbage-collect the #if 0'd pmap_transfer() stuff. 2001-01-04 00:17:43 +00:00
fvdl
3456657259 Bump shm max pages value to a more realistic one. 2001-01-03 20:19:33 +00:00
takemura
c5fd828440 replace 'long long' with int64_t to compile stand alone program with
compiler other than GCC.
2001-01-03 10:08:55 +00:00
tron
0ce4a9a0de Use highest bit of minor as an extra bit for the partition number to
bump the maximum partition number on NetBSD-i386 to 16. (Approved by fvdl)
2001-01-02 23:06:54 +00:00
thorpej
bee6e31c0d Don't equate pmap_update() with tlbflush(), but instead call
tlbflush() when that's what we mean (currently everywhere, except
in the one place in MI code where it is called).

The whole pmap_update() thing needs to be reexamined, but this helps
to clarify things a little with the currently-defined semantics of
that function.
2001-01-01 22:13:53 +00:00
mycroft
c95706b81d Long gone. 2000-12-29 21:52:03 +00:00
mycroft
efc2dc7903 ZHADUM is dead, ZSR doesn't need to be checked in. 2000-12-29 21:50:43 +00:00
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
jdolecek
69fa90cc78 s/SYS_NSYSENT/FREEBSD_&/ 2000-12-27 23:20:29 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
tv
35670ca600 Undo 1.385; put wss0 back in GENERIC.
Just like any ISA device, if you don't have the device at the configured IRQ,
you could lose if something else decides it wants that IRQ.  wss is not
a special case.
2000-12-22 16:35:51 +00:00
hubertf
4dfc667a6d Add pseudo-device vlan, OK'd by Manuel Bouyer. 2000-12-21 10:36:15 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
enami
28f80d692b Redo previous slight differently. 2000-12-21 05:20:24 +00:00
enami
5575e1f704 Print cpu features line only when corresponding part of bits are set. 2000-12-21 05:11:00 +00:00
enami
58f16f5f39 - Zero is a valid random data. Don't give up to attach.
- 4 cycle is enough to get 4 octet of data.
2000-12-21 02:43:04 +00:00
augustss
81ab9f2251 Put 'an* at isapnp?' in alphabetical order. 2000-12-20 10:44:29 +00:00
bouyer
ba933b24f7 Add peudo-device vlan 2000-12-19 10:34:11 +00:00
thorpej
f2242e9329 Gah, fix braino in last. 2000-12-18 23:41:58 +00:00
thorpej
895f21a679 Prototype freebsd_syscall_intern() in freebsd_machdep.h so that
freebsd_exec.c has access to it.
2000-12-18 23:29:46 +00:00
jdolecek
02f7f5ef0e make compilable within LKM 2000-12-18 20:49:17 +00:00
jdolecek
6701524af4 put back the rval[1] microoptimization, this is no longer used by FreeBSD emulation 2000-12-18 20:40:25 +00:00
jdolecek
2db538c869 separate the freebsd syscall code similarily to other emulations 2000-12-18 20:38:27 +00:00
jdolecek
214db5ca6b Store edx to rval[1], so that it won't get zeroed spuriously - this made
shared FreeBSD binaries coredump.
This solves port-i386/11708 by Atsushi Onoe.

XXX it may be worth it to split FreeBSD syscall code off syscall.c similar way
XXX as other emulations
2000-12-18 11:37:08 +00:00
jmc
3926121843 Comment out the isa wss driver.
GENERIC is the kernel used on new installs and too many things overlap the
resources (irq mostly) the default isa version may be using which causes
panics on reboot.
2000-12-17 22:53:52 +00:00
thorpej
0a8ec4baf3 Add an at isapnp. 2000-12-17 20:35:45 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
jmc
d1c6f1123f Add pnpbios_getiosize 2000-12-17 07:59:14 +00:00
jmc
50445038df Change the attach routine so it handles all the known cases that pnpbios
returns for floppy controllers i/o ports. i.e.

1. 1 range of length 4 (which conveniently "forgets" the ctl i/o port),
2. 2 ranges: 1 of length 4 and the ctl i/o port.
3. 1 range of length 6 which goes to the end of the ctl i/o.

Make this line up with the MI fdc code by mapping in a range of 4 on the
base i/o and then either direct or submapping the ctl i/o. In the one case
where the BIOS lies and says it's not there just map it in anyways. (but note
the fact to the end user).
2000-12-17 07:58:37 +00:00
thorpej
cd414d81ab Glue in ALTQ. 2000-12-14 23:55:31 +00:00
mycroft
e06ad67fa5 Remove ALTENTRY(). It's dangerous and should not be used. 2000-12-14 20:15:26 +00:00
mycroft
33d5c07c1b Clean up #includes. 2000-12-14 18:34:59 +00:00
onoe
a7125e435c Add PCI version of Aironet, not tested at all.
ISA/ISApnp version won't come since I don't know about isa...
2000-12-14 04:11:25 +00:00
mycroft
716c484ada Remove unnecessary #includes. 2000-12-13 01:24:46 +00:00
he
4ce4648c24 Add the an(4) driver to these configurations as well. 2000-12-12 21:14:51 +00:00
mycroft
a7889f8229 Whoops. Previous change was not correct. 2000-12-12 20:30:12 +00:00
mycroft
2c7eaf2b50 Minor code rearrangement. 2000-12-12 20:22:49 +00:00
mycroft
0175db6e40 #ifdef KTRACE some stuff. 2000-12-12 03:33:16 +00:00
onoe
9c25e9208a Port 'an' driver for Aironet PC4500/PC4800 IEEE802.11 card from FreeBSD.
This is very adhoc work for IETF meeting.
- Since it seems that 'an' and 'wi' have similar hardware, low level
  functions should be shared.
- There are PCI/ISA cards of Aironet but not supported yet.
- The wiconfig interface is changed so that wiconfig cannot be used.
- 'ancontrol' of FreeBSD is not ported.
- Only infrastructure mode is tested.
- WEP is not supported.

Though I only have an Aironet card, Cisco card should be expected to work.
2000-12-11 23:16:50 +00:00
mycroft
9a8fbe25bc Handle the VM86-mode syscall problem by changing the syscall vector when
jumping in or out of VM86 mode.
2000-12-11 17:36:03 +00:00
mycroft
1ef2795be9 Separate the syscall handlers into two versions -- one which does ktrace, and
one which doesn't.  Dynamically switch.
There's more to do on this, but I have to go to work.
2000-12-11 16:49:15 +00:00
tron
d0de1ec852 Protect against multiple inclusion. 2000-12-11 11:39:06 +00:00
tron
c6cdb692f3 Include "machine/frame.h" to avoid lint errors while building "libc". 2000-12-11 10:22:55 +00:00
mycroft
e6d33b69ec Nuke reference to trace.h. 2000-12-11 05:41:06 +00:00
mycroft
0f17615da7 There is no Berkeley code in any of these files. 2000-12-11 05:37:01 +00:00
mycroft
f495cd9dc6 Introduce 2 new flags in types.h:
* __HAVE_SYSCALL_INTERN.  If this is defined, e_syscall is replaced by
  e_syscall_intern, which is called at key places in the kernel.  This can be
  used to set a MD syscall handler pointer.  This obsoletes and replaces the
  *_HAS_SEPARATED_SYSCALL flags.
* __HAVE_MINIMAL_EMUL.  If this is defined, certain (deprecated) elements in
  struct emul are omitted.
2000-12-11 05:28:59 +00:00
mycroft
6a4dfe5f24 Slight tweak. 2000-12-11 02:48:07 +00:00
mycroft
66610a4779 Introduce PROC_PC(), which is used to get a process's user PC. If this is
defined, call addupc_intr() directly from statclock() in the system time case,
using the same P_OWEUPC path if the copyin/copyout fails.
Use this in i386 to remove profiling code from the normal userret() path.
2000-12-10 19:29:30 +00:00
jdolecek
8ca533ee5b since this is now standalone and not called via syscall(), we need to
update statistics and set p->p_md.md_regs accordingly here
do the errno translation uncoditionally
2000-12-10 12:23:50 +00:00
jdolecek
603884ff22 syscall(): no emulation using this needs errno mapping, G/C the code 2000-12-10 12:09:59 +00:00
jdolecek
44d7fef20a make locore.s call emulation-specific syscall code directly
this should improve speed of emulation syscall path (avoids one function call,
and emulations syscall can use the trapframe trick)
Idea: Charles Hannum
2000-12-09 13:20:04 +00:00
jdolecek
6f0fceeb1d the call to emulation-specific syscall function will be handled differently,
don't do it explicitly
2000-12-09 12:57:17 +00:00
jdolecek
87a6bee3a9 prototype ibcs2_syscall() in compat/ibcs2/ibcs2_exec.c 2000-12-09 12:45:44 +00:00
jdolecek
8f9b01eba1 prototype svr4_syscall() (only) in compat/svr4/svr4_exec.c 2000-12-09 12:44:26 +00:00
jdolecek
45144cbd17 put userret() into header file machine/userret.h and pull it where needed 2000-12-09 11:21:52 +00:00
mycroft
b2052e5951 GC garbage in userret() and *_syscall(). 2000-12-09 06:34:07 +00:00
mycroft
afc49e36eb Set md_regs before call the alternate syscall handler.
Remove the EMUL_HAS_SYS___syscall test, because the handler is no longer shared
with SVR4.
Rather than comparing with e_nsysent, just mask the value.  This is only done
to protect us from malicious programs anyway.
2000-12-09 06:33:15 +00:00
mycroft
3340782619 Add a separate svr4_syscall(). 2000-12-09 06:30:54 +00:00
mycroft
7a70c438c8 Couple more tweaks to eliminate unnecessary cycles. 2000-12-09 02:46:17 +00:00
mycroft
57fdd67be5 Do the resched check *only* on an AST.
Also, there is no reason to save the original PC; there are no restartable
syscalls that change the PC -- and even if there were, they wouldn't do it
in the restart case.
2000-12-09 02:18:16 +00:00
mycroft
5415a63e13 Rework the way the nested task and trace flags are handled when entering the
old (lcall) syscall gate.  This speeds up that path a little.
2000-12-08 23:14:04 +00:00
mycroft
985a81f23b GC unneeded code. 2000-12-08 22:32:09 +00:00
thorpej
55ecab37a0 Fix a silly MP race condition introduced in the previous. 2000-12-07 21:53:46 +00:00
thorpej
ac083d0b74 Use a pool cache for PDPs. This results in a 20% improvement in a
loop of 10000 fork/exit operations on a 400MHz Celeron.
2000-12-07 20:19:05 +00:00
thorpej
0abaa8b70d Nothing calls pmap_release() except for pmap_destroy(). Merge the two. 2000-12-07 17:12:21 +00:00
thorpej
b4b01fe8e6 Nothing calls pmap_pinit() except for pmap_create(), so merge the two. 2000-12-07 17:09:26 +00:00
chs
4fa4734937 go back to the first version of the pte/pde dance now that kvtopte()
has been changed to consisently return a pointer into the recursive
page table mapping.
2000-12-06 03:20:35 +00:00
chs
2a95fc3517 in kvtopte(), return the mapping of the pde in the recursive page-table
mapping space rather than the mapping in the kernel address space.
2000-12-06 03:13:47 +00:00
jdolecek
94e024dc14 constify 2000-12-05 10:45:09 +00:00
jdolecek
dae7d6d77c actually, pte is normally in user address space, but can also be in kernel
address space for LARGEPAGES kernel; to handle both, do the same dance
as for loc
2000-12-05 10:26:12 +00:00
ad
f237da87bf Hook the iop device in. 2000-12-03 13:19:07 +00:00
jdolecek
2b0dca1878 db_disasm(): pte is in kernel address space, so use kvtopte() to get pde,
otherwise it would trip over KASSERT() in vtopte() and cycle
2000-12-02 19:34:54 +00:00
jdolecek
e9b63338d7 add prototype for ibcs2_syscall() 2000-12-02 16:13:34 +00:00
jdolecek
65203b4ec6 if IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL is defined, put ibcs2_syscall to
emul_ibcs2
define IBCS2_MACHDEP_HAS_SEPARATED_SYSCALL in i386 ibcs2_machdep.h
2000-12-02 16:09:44 +00:00
jdolecek
6719ee1cf7 as discussed on tech-kern, put linux and ibcs2 syscall code to separate
files and change syscall() to call p->p_emul->e_syscall() if it's not NULL
2000-12-02 16:03:23 +00:00
soren
ff0f7c1ab4 No longer used. 2000-12-01 07:56:18 +00:00
soren
2cc519bba5 <pc/display.h> has been moved to <dev/ic/pcdisplay.h>. 2000-12-01 07:55:10 +00:00
jdolecek
73f3cd8c7e LKMify 2000-11-29 21:51:49 +00:00
aymeric
5deecf29d2 Fall back to previous memory segments detection code if BIOS reports no
correct memory segment.
This prevents some systems from losing with `can't find end of memory'.
Discussed with Bill Sommerfeld.
2000-11-29 09:56:02 +00:00
augustss
f9450fa993 Put neo* in alphabetical position. 2000-11-28 19:44:07 +00:00
thorpej
3f877e127e Add auich(4) and neo(4). 2000-11-28 05:18:42 +00:00
soren
66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
jdolecek
cee3939088 comment out entries accidentaly committed together with previous
change
2000-11-26 20:48:39 +00:00
ad
57ea462da2 lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
jdolecek
bc435e5551 rename COMPAT_locore.s to COMPAT_sigcode.s - that is more suitable name for it
make the files compilable within LKM
2000-11-26 11:18:20 +00:00
takemura
3c9d9276dc Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
itojun
c40695f5ad a complete kernel for wildlab LAMB, http://www.wildlab.com/. 2000-11-26 03:28:41 +00:00
chs
fa19fe52db adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.
2000-11-24 03:59:07 +00:00
chs
c01c2504a2 examine the PDE in addition to the PTE when checking for valid mappings. 2000-11-23 21:44:52 +00:00
jdolecek
818062390e Intel recommends to print cpu serial number as six dash-separated nibbles
(XXXX-XXXX-XXXX-XXXX-XXXX-XXXX), make it so
2000-11-22 16:41:56 +00:00
jdolecek
09c6390523 make trap_type[] const 2000-11-21 21:27:04 +00:00
jdolecek
3323852a95 put compat-specific locore code to separate *_locore.s files 2000-11-21 21:13:23 +00:00
jdolecek
baae0324b9 restructure struct emul and execsw, in preparation to make emulations LKMable:
* move all exec-type specific information from struct emul to execsw[] and
  provide single struct emul per emulation
* elf:
  - kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
    per emulation and contains pointer to respective probe function
  - interp is allocated via MALLOC() rather than on stack
  - elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
  to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
  emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
  part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
jdolecek
0630488eda fix typo 2000-11-20 20:07:36 +00:00
jdolecek
3b15e411a3 add moxa0 at isa entry, marked as experimental
This was not added also to other config files primarily because the
driver is not properly tested yet; this entry is primarily meant as an example
for those brave souls who want to try moxa.
2000-11-20 19:53:43 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
soren
046ce58634 Enable com at cardbus. 2000-11-20 02:00:46 +00:00
jdolecek
2faa9db8c1 cosmetic change in brand string handling (NULL vs. "")
drop Xeon from PIII Cascades entry, it should be handled by the brand id
support (pointed out by Scott Telford in private e-mail).
2000-11-19 23:38:22 +00:00
lukem
a687c7deac pull up stuff changed in GENERIC from 1.370 - 1.377, appropriately
commented out if it's not relevant to a laptop
2000-11-18 02:08:30 +00:00
jdolecek
97669de104 make i386_nocpuid_cpus[] and i386_cpuid_cpus[] const - this pushes
another ~1.4KB to text section
2000-11-16 17:00:17 +00:00
jdolecek
def6d1b4ac Newer Intel PIII processors also make available Brand ID value through
cpuid instruction, which is used to differentiate between Celeron, common PIII
and PIII Xeon; recognize it and print appropriate info if applicable

Information taken from Intel's (R)
Intel Processor Identification and the CPUID Instruction, AP-485
2000-11-16 10:19:02 +00:00
jdolecek
a9ad986a90 Update cpuid table according to information sent by Scott Telford
in port-i386/11502, with only sligh change for Coppermine entry -
cpus with family 6, model 8 are not all Celerons, they can be
either common PIII, Xeon or Celeron
2000-11-16 09:06:17 +00:00
jdolecek
ea9f7ed6d5 introduce SIGACTION_PS() macro - this is similar to SIGACTION(), but works
for (struct sigacts *) instead of (struct proc *)
2000-11-15 21:13:58 +00:00
thorpej
9298fd52fc Garbage-collect some more stuff. 2000-11-15 19:30:10 +00:00
enami
038ca0a146 Make isa_machdep.c compile again. 2000-11-15 02:00:31 +00:00
enami
1ef516e9be Pull in uvm_extern for PAGE_SIZE. 2000-11-15 01:59:35 +00:00
thorpej
990d23039d NBPG -> PAGE_SIZE. 2000-11-14 22:55:51 +00:00
thorpej
ec0069dd37 NBPG -> PAGE_SIZE 2000-11-14 22:55:05 +00:00
augustss
eb9736c09a Add uscanner. 2000-11-14 19:52:04 +00:00
thorpej
10b31e1ebc The i386 page size is fixed -- override PAGE_SIZE, et al, so that they
are compile-time constants.
2000-11-14 18:01:54 +00:00
jdolecek
ec93c3dd25 when evaluating CPU speed, make the wait 0.1s instead of 1s - the accuracy
difference is like 0.008% on my system and the delay is now almost unnoticable:)
Discussed with Jason Thorpe, Frank van den Linden.
2000-11-13 16:40:40 +00:00
enami
ce78591ae1 Cometic change; keep the code to process a second hunk closer to the first one. 2000-11-10 04:00:25 +00:00
enami
390c8adfbc Don't start next iteration while processing a first memory hunk since
there may be a second hunk.
2000-11-10 03:58:15 +00:00
christos
0cf0dd1b80 put the suggestion message in uvm_page.c. There could be other reasons
why we are not able to find the end of memory.
2000-11-09 19:22:30 +00:00
kim
534a2fa4bb BIOS memory loading messages can be enabled with DEBUG_MEMLOAD.
Increase VM_PHYSSEG_MAX from 3 to 5 to avoid a panic.  Suggest
increasing VM_PHYSSEG_MAX in the panic message.
2000-11-09 17:34:51 +00:00
ad
33c21c5f16 Sort. 2000-11-08 21:47:25 +00:00
ad
36e51ea5c5 Add I2O stuff. 2000-11-08 19:50:07 +00:00
ad
e6be92ad99 Pull in dev/i2o/files.i2o. 2000-11-08 19:48:51 +00:00
thorpej
5929990d15 Add `bktr'. 2000-11-07 06:02:24 +00:00
augustss
a00e309252 Fix speeling in cooment. 2000-11-06 22:10:03 +00:00
augustss
83bdca3a71 Print a newline after the random number speed message. 2000-11-06 22:01:31 +00:00
thorpej
c60d6ae15b Machine pmc.h 2000-11-05 22:28:00 +00:00
thorpej
fa03f6e74d If we have a working cycle counter, compute the number of CPU
cycles in a second, and print the CPU speed.

Derived from similar code in FreeBSD.
2000-11-05 22:10:01 +00:00
onoe
e83458422f First Prototype implementation of network interface part for IEEE1394 (if_fw).
Current status:
	Only OHCI chip is supported (fwohci).
	ping (IPv4) works with Sony's implementation (SmartConnect) on Win98.
	sometimes works but not stable.
Not implemented yet:
	IRM (Isochronous Resource Manager) functionality.
	Link layer fragmentation.
	Topology map.
More to do:
	clean ups
	MCAP
	charactor device part
	dhcp

There is no entry in GENERIC config file yet.
Follow sys/dev/ieee1394/IMPLEMENTATION to enable if_fw.
2000-11-05 17:17:12 +00:00
thorpej
584c0d1319 Use <dev/sysmon/sysmonconf.h> 2000-11-05 04:08:48 +00:00
thorpej
f6099127b7 DELPHI -- one of my devel machines at Zembu Labs. This is an
example of how to configure the PC-Weasel driver into the kernel.
2000-11-05 03:51:14 +00:00
ad
3d193b190b - Pequr -> Serverworks. It pays to do a cvs update first...
- Pay attention only to the low byte of config reg 0x44 on Serverworks chips,
  as Linux does.
- Compress duplicatated code.
2000-11-03 17:28:02 +00:00
thorpej
7c2615290b Add support for MS-DOS file system, but don't enable it by
default -- the resulting binary is too large, and thus does
not work.
2000-11-02 01:02:07 +00:00
eeh
8c3f6a0d10 Adapt to new line discipline scheme. 2000-11-02 00:37:56 +00:00
mycroft
9572bf6261 These are incredibly out of date. 2000-11-01 07:58:42 +00:00
fvdl
69e9b0392f Sync INSTALL with GENERIC and INSTALL_LAPTOP with GENERIC_LAPTOP with
regard to wireless network interfaces and pcic iomem size (i.e.
bump iomem to 0x1000 and enable cnw, awi and ray).
2000-10-31 15:54:50 +00:00
lukem
b14a596beb Add support for booting off RAIDframe RAID1 mirrors. Check the first partition
type in biosdiskopen(), and if it is of type FS_RAID, add 64 to d->b_off.

NOTE: installboot(8) still needs some hacking to DTRT, but at least this way
if you can load "/boot" off another partition (e.g, wd0h), then wd0a can be
of type `RAID' with a raidframe mirror at the start and the kernel
will load OK of wd0a, and with raidctl -A root partitions, it will change
root as well.
2000-10-30 07:30:59 +00:00
thorpej
10203d4eca Change the RNG callout -- don't spin until data is available. If
none is available, just wait until the next clock tick.
2000-10-30 00:26:04 +00:00
simonb
bb33bb331d Fix NRND == 0 case (unused variable). 2000-10-28 13:30:35 +00:00
itojun
5bbd7d495e fix busy-wait logic against random number register. (missing semicolon) 2000-10-28 04:58:35 +00:00
enami
31ac87f602 Don't use memory map of no entry. Instead, fallback into old way.
This fixes one of ``can't find end of memory'' panic on startup.
2000-10-28 02:29:35 +00:00
thorpej
3c01d4cbca Add support for sampling the random number generator on
the 810, 815, 820, and 840 chipsets.  From OpenBSD, modified
for NetBSD by me.
2000-10-27 22:49:21 +00:00
thorpej
7f59704e6c Support the second PCI bus on SeverWorks chipsets. From OpenBSD. 2000-10-27 17:55:18 +00:00
thorpej
2644e830b7 BIOS BUG WORKAROUND! The 82443BX datasheet indicates that the only legal
setting for the "Idle/Pipeline DRAM Leadoff Timing (IPLDT)" parameter
(bits 9:8) is 01.  Unfortunately, some BIOSs do not set these bits properly.

Based on a hint from OpenBSD.
2000-10-27 17:47:44 +00:00
thorpej
d05f0929dc We only support Intel PMCs for now, so don't try and read them
on non-Intel CPUs.
2000-10-24 22:03:36 +00:00
fvdl
dfcc2820fa Add rtk at pci, some laptops have it.
Add cardbus network cards to INSTALL_LAPTOP (oops, they're largely
the point of INSTALL_LAPTOP..).

From Noriyuki Soda.
2000-10-23 09:31:49 +00:00
ad
15e25fe73f - ca -> lsu
- Hook in twe.
2000-10-19 14:32:20 +00:00
wiz
c374cadf43 Get RELEASEDIR setting from /etc/mk.conf. Fixes misc/11104 by Markus Kurek. 2000-10-15 22:42:49 +00:00
minoura
7bb188de0c WSCONS_DEFAULT_TYPE is obsolete; use VGA_CONSOLE_SCREENTYPE instead. 2000-10-15 10:08:00 +00:00
hpeyerl
87a8c94ed0 Sanity check the cursor position read from the 6845 and if clearly
off-screen, set it to 0x0.  From dean@huxley.org.
2000-10-12 22:36:30 +00:00
thorpej
3290ef5fe8 Re-order the TLB operations in pmap_zero_page() and
pmap_zero_page_uncached().  This seems to prevent the
lossage with those functions people have seen on Cyrix
CPUs.
2000-10-08 22:59:38 +00:00
thorpej
87a787f7b4 Make sure we use kvtopte() only on kernel addresses. Should
fix a panic that occurs when using KGDB repored by Nathan Williams.
2000-10-06 18:37:39 +00:00
abs
2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
fvdl
654c1d3603 Adjust after some comments from Noriyuki Soda:
apm was enabled in the wrong file, it's not needed in INSTALL_LAPTOP,
but should be there in GENERIC_LAPTOP.

wss0 at isa irq 10 may cause conflicts on some laptops; remove it.

Despite its name, PCIBIOS_INTR_GUESS is safe option, so enable it.
2000-10-02 12:54:39 +00:00
fvdl
32a995f65b Oops, remove test leftover setting of REALEXTMEM. 2000-10-02 12:22:53 +00:00
fvdl
09440c52d2 Squeeze some more. Do what it has been advertising all along: no SCSI. Use
-Os. Remove NFSSERVER.
2000-10-02 08:12:04 +00:00
fvdl
f47a0f34f9 Squeeze even more by removing some COMPAT_1X options, com* (serial
ports aren't supported for installation), MFS, slip and ppp. There
was no room for pppd and slattach on the "tiny" floppies anyway, so
there was nothing to use them.

Add pcic at isa, pcmcia, wdc at pcmcia, and 'wireful' cards @ pcmcia
(ne, ep, mbe, sm). Installing is now possible on a 4M laptop over
ethernet (tested with ep at pcmcia, and 640+3200 available memory).
2000-10-01 16:20:01 +00:00
fvdl
890dedaed3 Set the # of ptys to 2. 2000-09-30 13:25:12 +00:00
fvdl
2e6f523813 Bump CPU_MAXFAMILY to 7. 2000-09-29 14:17:17 +00:00
fvdl
3cb9873a8d Recognize Pentium 4. Treat everything with model > 6 as model 7 for now,
in the hope that Intel doesn't start number backwards now that they
picked 15 for the P4.
2000-09-29 14:16:23 +00:00
fvdl
243ae4806b oops, typo in previous (|| -> &&) 2000-09-29 13:15:48 +00:00
fvdl
33234ff066 Don't print anything when the serial number is not supported. There are
a lot of other features that may not be supported either, no need to
print them.
2000-09-29 13:05:12 +00:00
explorer
62da00b60c clean up printing when serial number not supported or disabled. 2000-09-29 09:07:53 +00:00
explorer
be5f26e138 print CPU serial number at boot time. After all, we have a million other flags printed, what's one more interesting one. 2000-09-29 09:03:18 +00:00
thorpej
59ef356b35 Reintroduce the ACPI memory map code. The bug that caused the
IDT to be scribbled over on some systems was found and fixed by
T.SHIOZAKI <tshiozak@netbsd.org>.
2000-09-28 18:31:36 +00:00
is
f41561e9de We do wired page accounting. Tell UVM about it. 2000-09-28 13:09:10 +00:00
fvdl
c84826de03 Enable usb devices that may be useful during the install (hubs, keyboard,
ethernet, mass storage).
2000-09-27 20:41:35 +00:00
fvdl
3a999fb11f A GENERIC and INSTALL tailored for laptop usafe (i.e. cardbus and
PCIBIOS options included).
2000-09-27 16:57:09 +00:00
fvdl
0619e37229 Reduce ramdisk size to the amount that is really needed for optimal
space saving. Reduce number of ptys to 2. Use NFS_V2_ONLY.
2000-09-27 16:54:56 +00:00
fvdl
48b43cdfb9 Remove some less-needed items to save space. Also add NFS_V2_ONLY,
to save more space. For installs, NFSv2 will do just fine.
2000-09-27 16:09:18 +00:00
ad
a01a66c525 cac* at eisa? reported as working. 2000-09-26 11:51:14 +00:00
abs
3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs
ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
itohy
dd5d3287ec Use "etext" instead of "_etext" like db_trace.c,
which makes it be linked by a.out ld.
2000-09-24 23:46:37 +00:00
itohy
c3202405d5 Support half-duplex mode (use only one DRQ).
Fix PR #10308.
2000-09-24 23:40:12 +00:00
jdolecek
2308091f66 update usage message (new flags -v, -q) 2000-09-24 18:28:18 +00:00
jdolecek
b135d5504a netbsd_opts.c was removed as part of bootverbose/bootquiet changes
Pointed out by Lennart Augustsson in private e-mail.
2000-09-24 18:13:54 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek
5fea96167f use new generic bootverbose instead of local definition 2000-09-24 12:37:03 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
augustss
e9a2baa2ff Grab a major # for USB scanners. 2000-09-23 04:30:08 +00:00
thorpej
0564259315 Make this a more likely laptop config file. 2000-09-22 00:18:17 +00:00
thorpej
f2e9848f4a When doing uncached page zeroing, abort if a process becomes
runnable before we're finished zeroing the pages.
2000-09-21 21:43:24 +00:00
thorpej
b008f5f25a Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted.  This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
2000-09-21 17:46:04 +00:00
fvdl
76e330bdb3 Fix typo. 2000-09-20 22:59:44 +00:00
thorpej
bda9ce7990 Enable VM86 -- it's needed for some X servers (notably, S3 Savage,
which runs the VESA BIOS in VM86 emulation in order to switch video
modes).
2000-09-20 18:22:22 +00:00
thorpej
dbe9b6987f Enable VM86 and DUMMY_NOPS. 2000-09-20 18:20:55 +00:00
fvdl
082a77ccfe Bring the default value of NMBCLUSTERS into the modern age. 2000-09-19 22:21:54 +00:00
enami
ead2ed15cf Add few more L2 cache info entry. 2000-09-15 03:44:28 +00:00
enami
29027825f3 When fetching cache info:
- Don't fall into infinite loop even if the # of iteration necessary isn't 1.
- Don't interpret lower 8bit of AL, which is # of iteration, as a descriptor.
2000-09-15 03:41:18 +00:00
thorpej
3d6272fcdf Use VNODE_OP_NOINLINE. 2000-09-13 16:26:15 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
thorpej
d0b099a9fc Fetch cache info via `cpuid' insn, parse it, remember it,
and report it at boot time.
2000-09-13 08:04:15 +00:00
thorpej
90a2e46ab1 Add support for using the 586- and 686-class performance
counters.
2000-09-13 04:47:00 +00:00
thorpej
b9b07590ec Define some 586-class CESR MSR bits. 2000-09-13 04:44:27 +00:00
thorpej
e2cc69026a Add 686-class performance counter events. 2000-09-13 03:37:04 +00:00
lukem
cbb605647a add (commented out) entry for WSCONS_DEFAULT_TYPE 2000-09-10 11:48:38 +00:00
chs
62a6d0660c move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
to tell it whether or not to remove wired mappings.  pmap_remove() wants
to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.
2000-09-10 03:45:58 +00:00
tron
cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
tron
3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
tron
278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron
f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
matt
9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
thorpej
a1139ee535 Example config file for enabling large page support. 2000-09-07 18:55:30 +00:00
thorpej
2fc18ed7a4 Replace the old db_memrw.c with the hp300 version, modified for i386
and large page support.  This version is a bit more intelligent about
how it deals with kernel text pages.

Now that this is fixed, don't map the kernel text read-write if
DDB is configured.
2000-09-07 18:46:19 +00:00
thorpej
a68986edfc Add optional support for mapping the kernel with large (4MB) pages.
Right now, only does kernel text, and wastes a little memory, but
there is some noticeable performance improvement even with just text.
2000-09-07 17:20:58 +00:00
thorpej
2204402aa1 If KERN_LDSCRIPT is specified as a makeoption, then add it to the
linker flags.
2000-09-07 06:39:36 +00:00
thorpej
1946ce2a42 A linker script based on elf_i386.x which aligns the .data segment
to a 4MB boundary, thus allowing the text and read-only data to be
mapped using large pages.
2000-09-07 06:36:24 +00:00
thorpej
50668be499 Deal with low addresses in pmap_k{enter_remove}. port-i386/10966. 2000-09-07 06:06:52 +00:00
thorpej
fbc40806dd vtopte() and kvtopte() now check for kernel vs. non-kernel addresses,
respectively.
2000-09-06 23:32:13 +00:00
thorpej
b53916e196 Cast arguments to kvtopte() to vaddr_t. 2000-09-06 23:28:30 +00:00
thorpej
5f98fd6c03 On second thought, back out kvtopte() change in previous. Dug, PT pages
are in a special VA range, not kernel VA range.
2000-09-06 22:23:46 +00:00
thorpej
ba3605f2bf Use kvtopte() for kernel addresses. 2000-09-06 22:22:27 +00:00
thorpej
a7b2cf9d7a Print CPU features, and use kvtopte() for kernel addresses. 2000-09-06 22:19:46 +00:00
thorpej
e32a6a7c54 Use kvtopte() for kernel addresses. 2000-09-06 22:09:58 +00:00
thorpej
7dd395bb7f Remove some vto*() macros that won't stand a chance of working
with PSE or PAE, and reimplement vtphys() in terms of pmap_extract().
2000-09-06 19:09:45 +00:00
thorpej
eac566737e In pmap_extract():
- Return FALSE if the PTE does not have PG_V set (previously, you would
  get always get true of the PDE was valid, even if the PTE was not).
- Teach it about 4MB pages.
2000-09-05 21:56:41 +00:00
thorpej
7683d3f956 Define PG_LGFRAME, which is the page frame mask for large (4MB) pages. 2000-09-05 21:52:16 +00:00
enami
ef2b361222 Fix to work with objdir. 2000-09-05 05:05:16 +00:00
jdolecek
3fd457414e constify first arg to parseopts() 2000-08-31 07:21:46 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
jhawk
2ea44b1dd4 install dosboot.com in the release(7) hierarchy. 2000-08-23 21:00:46 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
joda
71cabc49dd (rbus_pccbb_parent_mem): make the rbus minimum start address
configurable (RBUS_MIN_START), since default value of 1GB doesn't work
well on some ThinkPads
2000-08-22 08:42:55 +00:00
erh
df316aa06c Change the heap limit from 40000 to 50000 so the heap is the same size as it was before the "Hack from Hell'. 2000-08-22 02:46:30 +00:00
itohy
5755dca55d Fix typos.
No functional changes.
2000-08-21 07:39:42 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
thorpej
dd87a44f4a Initialize PV head simple locks, done slightly differently than
in the sommerfeld_i386mp_1 branch.
2000-08-19 19:48:53 +00:00
thorpej
b0dc085df7 Move the TSS selector out of the PCB and put it into mdproc. We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.
2000-08-16 04:44:35 +00:00
ross
37262919a9 Edit adv0 comment to include "SCSI"; now 'grep -v -i SCSI GENERIC' works. 2000-08-15 20:09:26 +00:00
fvdl
534b45c853 Move identifycpu to a place where it gets called earlier in the process,
so that special setup functions needed for some CPUs will be run before
some things (like UVM) are inited.

Add vm_page_zero_enable = FALSE to the cyrix 6x86 case, as page zeroing
while idle causes problems.
2000-08-15 18:21:44 +00:00
christos
cabafb6c60 cast to u_long before casting to u_int to appease lint. 2000-08-13 22:45:01 +00:00
augustss
de0b1dd11d Go to splhigh() before calling power hooks and maintain this level
while suspended.  When waking up the power hooks are again called at
splhigh() and then the level is lowered.
This prevents interrupts from reaching a device before the power hook
has reinitialized it.
2000-08-13 22:26:27 +00:00
jdolecek
47b371580e make this usable as INSTALL-like kernel suitable for boot floppy
enable supported stuff, add also SCSI devices (only sd* and cd* uncommented)
2000-08-13 21:55:33 +00:00
jdolecek
40dc315f3b #if 0 bogus mca_intr_establish() added possibly mistakely
by cgd in rev. 1.2
2000-08-13 10:38:38 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
thorpej
e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00
soda
be6120309f add commented out PCIBIOS_INTR_GUESS 2000-08-10 21:33:17 +00:00
soda
834cceb3ae move PCIBIOS_INTR_FIXUP_FORCE, PCIBIOS_INTR_GUESS and PCIBIOS_IRQS_HINT
to opt_pcibios.h.
2000-08-10 21:21:02 +00:00
soda
b63f6b5096 Add another option PCIBIOS_INTR_GUESS for no compatible ICU found case.
Under this option, if only one IRQ is available for the link,
we assumes that the IRQ is already connected, and configure
PCI Interrupt Configuration Register accordingly.
This is what Linux pcmcia-cs-3.1.19 does by default.

This fixes unconfigured pccbb interrupt problem of
Sharp Mebius MN-5500. It's interrupt router is ITExpress Inc. IT8330G.
(http://www.ite.com.tw/, vendor=0x1283, product=0x8330)
Problem reporeted by Kitagawa <sk@kiu.ac.jp> in
http://www.kaynet.or.jp/~kay/ml/netbsd-pcmcia/msg/msg00608.html
2000-08-10 21:18:27 +00:00
tv
8df356a34f %r, %n -> db_format_radix() 2000-08-09 20:09:25 +00:00
tv
29550fc608 kprintf -> printf format attribute 2000-08-09 16:34:25 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
augustss
6ee3189cb6 Alphabetize. 2000-08-04 11:51:37 +00:00
enami
bdd9be2dc3 Don't print newline here since it is supposed that more message is printed. 2000-08-04 04:52:37 +00:00
nathanw
b3e0af3d32 Fix a problem uncovered by rev 1.5 of pcibios.c:
Avoid interpreting the upper 32 bits of 64-bit BARs as a 32-bit BAR.
Otherwise, the code would assume that the value 0 was incorrect and either:
(a) [on bus 0] "fix up" the address to some nonzero value, thus placing
    the decoded address range outside of 32-bit address space, or
(b) [elsewhere] completely disable the device.

The fact that this behaviour depends on the bus number of the device is
already XXX'd.

XXX: This will need revisiting if and when we ever want to handle a PCI bus
XXX: with more than 32 bits of address space on an i386.

The onboard Adaptec 7890 on my Dell Precision Workstation 410 works again.
2000-08-03 20:10:45 +00:00
soda
0cbe0d600f fix oversight introduced in previous my commmitment (revision 1.4),
pointed out by Michael Shalayeff <mickey@openbsd.org>.
2000-08-02 02:54:41 +00:00
augustss
37ae63598b Add midi at clcs. 2000-08-01 08:16:54 +00:00
uch
ae581ace81 reserve AGP space to avoid resource conflict. 2000-08-01 05:23:59 +00:00
briggs
3f1e17a340 Define bus_space_*_stream_N functions as their non-stream counterparts. 2000-07-31 22:43:46 +00:00
simonb
1483e8c25e Fix "suggest parentheses around assignment ..." warning in normally
unused code segment.
2000-07-30 06:11:38 +00:00
jdolecek
e25636b5da g/c RB_DFLTROOT
I've tried hard to find also various usage() messages and remove the
appropriate flag from there as well, hopefully all occurences are covered.
2000-07-29 20:06:27 +00:00
mrg
cc41b6af8f remove COMPAT_AOUT option. 2000-07-27 14:34:06 +00:00
soda
a86a9c61c4 better message from John Hawkinson <jhawk@MIT.EDU> 2000-07-22 17:43:36 +00:00
soda
36b85ab9c7 hexadecimal constant in "options" value doesn't need quotation. 2000-07-18 11:41:32 +00:00
soda
87b0dd6e6a make PCIBIOS_IRQS_HINT patchable. 2000-07-18 11:37:56 +00:00
soda
52e3dc4e56 use I386_PCI_INTERRUPT_LINE_NO_CONNECTION instead of magic number. 2000-07-18 11:24:09 +00:00
soda
663add1b20 use PCI_INTERRUPT_PIN_MAX and I386_PCI_INTERRUPT_LINE_NO_CONNECTION,
instead of magic number
2000-07-18 11:23:28 +00:00
soda
81858d7c01 - Use PCIBIOS_PRINTV().
- Use PCI_INTERRUPT_PIN_MAX and I386_PCI_INTERRUPT_LINE_NO_CONNECTION
   instead of magic number.

the Following changes are
{Modified with,Approved by} UCHIYAMA Yasushi <uch@netbsd.org>:

 - Do not touch a PIRQ router, if the PIRQ is already routed
   by the BIOS, or no appropriate IRQ is found for the PIRQ.
   The latter prevents a panic on the machine of Frank van der Linden.

 - Do not modify a PCI Interrupt Configuration register,
   if it is already set by the BIOS, even if it is inconsistent
   with the PCI IRQ routing table provided by the BIOS.
   (The PCI Interrupt Configuration register seems to be more reliable
    than the PCI IRQ routing table.)
   This is needed to prevent a incorrect header_fixup() caused
   by the incorrect PIR table on a Panasonic Let's Note AL-N2T516J5.

   Provide "options PCIBIOS_INTR_FIXUP_FORCE" to retain
   previous behavior, i.e. believe the PCI IRQ routing table
   and ignore the PCI Interrupt Configuration register.
   Although I'm not sure this is really needed.

 - Do not modify a PCI Interrupt Configuration register,
   if appropriate IRQ is not found for the link.

 - Move a pciintr_icu_getclink() call and a pciintr_icu_get_intr()
   call from pciintr_link_fixup() to pciintr_link_alloc(),
   and only allocate pciintr_link_map if those calls succeeded.
   This reduces number of calls of pciintr_icu_getclink(),
   and also avoid necessity to validate a clink value in
   ICU's {get,set}_{intr,trigger}() functions.
   The sanity checks are not removed yet, though.

 - Fix uninitialized usage of variable `bitmap' on stage 3
   of pciintr_link_fixup().

 - Remove a member variable `old_irq' from struct pciintr_link_map.

 - Always use 0x%02x for printf format of canonical link value.

 - Use DIAGNOSTIC instead of PCIINTR_DEBUG for really weird situation.
2000-07-18 11:22:36 +00:00
soda
b01ab37ef6 use PCIBIOS_PRINTV() defined in pcibios.h, instead of homegrown DPRINTF(). 2000-07-18 11:18:04 +00:00
soda
698b2b1173 - define pcibiosverbose here, instead of each C source.
- use PIR_DEVFUNC_{DEVICE,FUNCTION}.
2000-07-18 11:15:25 +00:00
soda
0e8343265b - define PCIBIOS_PRINTV() as pcibiosverbose printf() here,
instead of DPRINTF() in each C source.
 - define PIR_DEVFUNC_{DEVICE,FUNCTION}
2000-07-18 11:14:06 +00:00
soda
2f9cb9c128 add several debug printf which can be enabled by PIIX_DEBUG. 2000-07-18 11:10:22 +00:00
soda
9a7e0d82ac - deal with FIRESTAR_PIR_SELECT_PIRQ case on set/get_trigger(),
to prevent a panic on a Panasonic Let's Note AL-N2T516J5.
 - add several debug printf which can be enabled by FIRESTARDEBUG.
 by UCHIYAMA Yasushi <uch@netbsd.org>

 - use I386_PCI_INTERRUPT_LINE_NO_CONNECTION instead of magic number.
2000-07-18 11:07:20 +00:00
soda
b8a6bd6e11 add "#define I386_PCI_INTERRUPT_LINE_NO_CONNECTION 0xff" 2000-07-18 11:00:35 +00:00
minoura
71ccd6200d Add (but commented) COMPAT_PECOFF entry. 2000-07-17 14:37:53 +00:00
christos
480203ba75 change intptr_t and uintptr_t to long and unsigned long respectively. This
is a noop on 32 bit machines, but it makes lint quiet and it is more correct.
2000-07-16 02:18:11 +00:00
thorpej
c0708e9ff1 Clean up bios_reg a little, and add support for accessing
the byte variants of the registers (e.g. %ah, %al, etc.).
2000-07-12 22:58:12 +00:00
jdolecek
c8f528ad5e switch to MI newvers_stand.sh version info generator 2000-07-12 21:05:35 +00:00
jdolecek
f6cf4e5f93 move struct sys_config from mca_machdep.c to mca_machdep.h
fix copyright (overlooked in original commit)
use bitmask_snprintf() instead of printf("...%b") (though that part is commented
	out anyway ATM)
2000-07-09 10:35:11 +00:00
mycroft
9ad7bd8d37 Increase the example DDB_HISTORY_SIZE. 2000-07-09 01:36:06 +00:00
mycroft
33090b8b89 Enable DDB history. 2000-07-09 01:35:52 +00:00
mycroft
4087b4e418 Do the interrupt fixup for all busses, not just bus 0.
This is necessary on some machines with multiple onboard PCI busses.
2000-07-09 00:42:47 +00:00
mycroft
0ef0f52d06 Turn on DDB history by default. 2000-07-09 00:41:24 +00:00
sommerfeld
eb1939c85f printf format paranoia 2000-07-08 17:09:02 +00:00
sommerfeld
26b0bc1c2e printf format safety 2000-07-08 17:08:35 +00:00
jhawk
d770f87fef Pullover rev 1.320 - rev 1.358 of GENERIC to IOPENER, and merge conflicts.
Add GENERIC rev in "from:" line to aid in future merging.
Major highlights include SOFTDEP, and, err, 4 blank lines.
2000-07-08 03:24:36 +00:00
jhawk
71f3f1c282 Pullup rev 1.233 - rev 1.358 of GENERIC to CARDBUS, and merge conflicts.
Add GENERIC rev in "from:" line to aid future merging.
Major highlights include COMPAT_14, COMPAT_AOUT, NTFS, OVERLAY,
SOFTDEP, INET6, IPSEC, pcic iosiz changes, cz, dpt, rtk (cardbus!),
awi, cnw, ray, wi, xi, joy, and gif.
2000-07-08 02:47:02 +00:00
jhawk
c4f2dfb0b9 Enable "old partition ID" compatibility by default, just as in biosboot. 2000-07-06 03:39:53 +00:00
sommerfeld
502fc00210 Comment out EON ISO-over-ip tunneling pseudo-driver, and document as
broken/fragile.  Unlikely to be of much use, and confuses new users
when their system crashes when they, or their dhclient stumble over
it.  See kern/10500, kern/8994 for the gory details.
2000-07-05 04:07:22 +00:00
augustss
01d5ad3ab6 White-space improvements. 2000-07-03 01:17:35 +00:00
sommerfeld
56cc62bbec Return the full width of the counter here. 2000-07-02 21:05:14 +00:00
cgd
a5c13f9ad4 Kwality control:
* put #includes of opt headers and headers to get protos used by
  net/netisr_dispatch.h in net/netisr.h (if !defined(_LOCORE)) (rather than
  in netisr_dispatch.h itself, and potentially nowhere, respectively).
* require netisr.h to be included before netisr_dispatch.h.
* minor additional cleanup of both netisr.h and netisr_dispatch.h.
* clean up uses to remove now-unnecessary header file inclusions, and
  local prototypes of the fns.
* convert netisr dispatch implementations which didn't use
  netisr_dispatch.h (pc532) to use it.
2000-07-02 04:40:33 +00:00
itojun
d738f90fd7 raise MSIZE from 128 to 256.
- for sizeof(void *) == 8 arch, this is mandatory.  MHLEN is too small
  already (less than 80) and there are chances for unwanted packet loss due
  to m_pullup restriction.
- for other cases, the change should avoid allocating clusters in most cases
  (even when you have IPv4 IPsec tunnel, or IPv6 with moderate amount of
  extension header)

portmasters: if your arch chokes with the change (high memory usage or
whatever), please backout the change for your arch.
2000-06-30 17:55:11 +00:00
itojun
d76ae83df8 add PULLDOWN_TEST for all the platforms.
XXX should be moved to somewhere else when stabilized
2000-06-30 17:10:15 +00:00
mrg
b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
kleink
bb2ed0f487 G/c _BSD_INTPTR_T_ and _BSD_UINTPTR_T_. 2000-06-27 05:53:22 +00:00
kleink
47b5c5e3b1 Resolve some formatting nits; add __intptr_t and __uintptr_t. 2000-06-27 04:58:51 +00:00
kleink
e695f72a2e Add <machine/int_types.h>, which provides namespace-pure definitions
of exact-width integer types.
2000-06-26 15:42:16 +00:00