Commit Graph

5070 Commits

Author SHA1 Message Date
drochner a3cdd518ad make it compile after i82557reg.h changes 2001-07-25 12:47:34 +00:00
wiz d2cede024b Replace some memcpy()s with probably overlapping arguments with memmove()s. 2001-07-24 22:29:07 +00:00
itojun 71aa31a75a support multiple batteries (currently only # of batteris is visible -
need to tweak ioctl API more).  PR 10545.
2001-07-22 16:05:17 +00:00
wiz a9356936b4 seperate -> separate 2001-07-22 13:33:58 +00:00
jdolecek 044d2dfafc Move former PS2 config to GENERIC_PS2, mostly so that it fits the
installation snapshot build machinery well; also improve some comments.
Adjust INSTALL_PS2 config accordingly.
2001-07-21 16:26:46 +00:00
jdolecek c55c49e5e3 Make a bit more like GENERIC - add I586_CPU, NTP, SYSVMSG, SYSVSEM, LKM,
CD9660, INET6, though bunch of entries enabled in GENERIC is commented out,
mostly due they being not appropriate for IBM PS/2.
2001-07-21 16:12:16 +00:00
jdolecek c013461507 add pcmb\* 2001-07-21 13:22:05 +00:00
jdolecek 230adf61d8 Installation kernel for PS/2 machines. Only wrapper around
PS2 config.
2001-07-21 13:16:23 +00:00
jdolecek 0be60fb28d remove MEMORY_DISK_HOOKS stuff 2001-07-21 13:15:00 +00:00
thorpej babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
mrg ef38b7e874 fix a statementless label that gcc-current picked up. 2001-07-17 13:53:15 +00:00
mrg 6d1680019c use a shift instead of a divide. 2001-07-17 13:52:24 +00:00
fvdl d68e2c3f12 Redefine evil tXXX register offset defines into the trapframe structure
to use offsetof. These should be completely nuked.

Fixes math_emulate lossage.
2001-07-17 08:13:06 +00:00
thorpej 091e29f94f In i386_softintr_lock(), use splserial() rather than splhigh(),
because of splhigh() braindamage on the i386 port.

Fixes port-i386/13038 and port-i386/12985.
2001-07-16 16:53:00 +00:00
christos 825843808a add MACHO_MACHDEP_CASES 2001-07-14 03:05:51 +00:00
christos d6cbc8a99d add mach/macho files 2001-07-14 02:18:02 +00:00
christos 747d93e317 new i386 files for macho and mach. 2001-07-14 02:04:25 +00:00
christos 75dabe22c7 Use global descriptor 7 for mach traps. Unfortunately this is already
used by apm 16 bit code segments so we cannot have both at the same time.
2001-07-14 02:02:45 +00:00
christos 661d4f4564 Add COMPAT_MACH and EXEC_MACHO. Code works enough to start running a binary,
but we need to implement a few mach traps before the dynamic linker actually
works.
2001-07-14 02:00:39 +00:00
kristerw 42bb92201c Removed redundant (and slightly wrong) extern declaration of emul_svr4
(newer gcc complains that only one of the declarations are const.)
2001-07-13 23:32:26 +00:00
itojun ceb069ef00 sync with GENERIC 1.410. mention pkgsrc/sysutils/lambd. 2001-07-13 23:00:32 +00:00
soren ce3293accb ncr(8) is gone from the tree, so remove ^#ncr*. 2001-07-09 15:05:22 +00:00
perry 4ae18c882f Since setrunqueue and remrunqueue now have documentation, remove my
obnoxious comments saying they should be documented, and reference
setrunqueue(9) and remrunqueue(9) instead. Thanks Nathan!
2001-07-08 19:33:44 +00:00
abs 8b9a19cb3d Leave TCP_DEBUG commented out _everywhere_.
Time to replenish clueon charge with caffine...
2001-07-08 16:36:11 +00:00
abs 01b024cd5b Standardise TCP_COMPAT_42 as commented out, grouped with other COMPAT options,
and with the comment '4.2BSD TCP/IP bug compat. Not recommended'
Add commented out 'TCP_DEBUG # Record last TCP_NDEBUG packets with SO_DEBUG'
(All hail amiga and atari which make some attempt to automate the
multiplicity of config files...)
2001-07-08 16:32:12 +00:00
perry c3748d9175 b*()->mem*() 2001-07-07 22:57:57 +00:00
tsutsui df016928f8 Remove (commented out) ncr* at pci? lines. 2001-07-07 17:09:47 +00:00
perry 0d05392733 bzero->memset, bcopy->memcpy 2001-07-07 05:58:12 +00:00
mcr 97eac1b54c context argument added to pci_device_foreach(). 2001-07-06 18:04:58 +00:00
mcr b44d7d55a5 added some debugging to error message in pci_intr_map(). 2001-07-06 18:04:22 +00:00
mcr 07ba5352f1 extra argument to pci_device_foreach(). 2001-07-06 18:03:47 +00:00
mcr 8c020dd2f7 when fixing up buses, keep track of the parent of each bus,
and the pcitag to access the primary side of that bridge.
2001-07-06 18:03:17 +00:00
mcr 6244484599 added context parameter to pciaddr_resource_{reserve,allocate}
and to pci_device_foreach().
	added new function pci_device_foreach_min().
2001-07-06 18:02:35 +00:00
mcr b76e5c586a added some error checking on return from rbus_new_root_share(). 2001-07-06 18:01:26 +00:00
mcr 74ed6c9ddb new config file for M700 notebook with Cardbus and CBII support 2001-07-06 18:00:50 +00:00
hubertf 9f773decdf fix typo in comment 2001-07-05 20:54:28 +00:00
itojun 1e8074db2e sort boot flag to alphabetical order. add -c. 2001-07-05 00:58:45 +00:00
soren 882f3b1bd2 Const'ify bootblk_commands[] to match lib/libi386.h change. 2001-06-27 22:58:32 +00:00
darcy 685fb6365d Added the commented lines with the defaults for the system values associated
with System V semaphores.
2001-06-27 13:40:12 +00:00
thorpej e26fe5cc01 Compute the VM_* constants directly, rather than hard-coding
them (with the formulas in comments).
2001-06-25 16:28:48 +00:00
sommerfeld f00786e7ab restore fs and gs from sigcontext in sigreturn (correct oversight in
previous commit).
2001-06-19 15:54:48 +00:00
wiz f3f6c5b675 `accessible' only has one `a'. 2001-06-19 12:52:20 +00:00
fvdl b4b5dc533d Add fxsr CR4 bits. 2001-06-19 09:12:49 +00:00
thorpej 9c9eba63ec Add gsip(4), gphyter(4), and sf(4) drivers. 2001-06-18 22:45:54 +00:00
sommerfeld b10656ba32 Delete dead code.
Mask segment registers from trap frame with 0xffff for cleanliness.
2001-06-18 03:33:59 +00:00
sommerfeld 926b6ff132 since seg regs are 16 bits, toss high order bits from the trapframe 2001-06-18 03:32:14 +00:00
christos 59abdecf4b Add a linux specific trapsignal() function. This is just a passthrough
on all platforms but the i386. On the i386 we look at T_PROTFLT and send
a SIGSEGV instead of SIGBUS. This makes allegro lisp 5.0 and pvs (a proof
verification system) to work.

XXX[1]: We need to go through each architecture and verify that we send
        the correct signal on each trap type.
XXX[2]: trap.c on all other architectures but i386 needs to be modified
        to s/trapsignal/(*p->p_emul->e_trapsignal)/g
2001-06-18 02:04:42 +00:00
christos 0f380fac15 Add an e_trapsignal member to struct emul, so that emulated processes can
send the appropriate signal depending on the trap type.
2001-06-18 02:00:48 +00:00
sommerfeld 7e7d262c34 Add %fs/%gs to trap frame and save/restore them on
trap/interrupt/syscall entry from userspace.

Remove special-case "by hand" validation of fs/gs register values as
well as special handling of them in various signal handling paths.

Now, like %ds and %es, they are validated by the hardware on return to
userland.

This paves the way for the use of %fs for per-cpu data on
multiprocessor systems, and fixes an otherwise difficult-to-fix
interaction between threads/clone(2) and USER_LDT.

Discussed in advance with Frank van der Linden.
2001-06-17 21:01:32 +00:00
sommerfeld d3249871b5 Rework how user-mode instruction and stack fetches are done.
While we're in here, catch another vm86 protocol botch.
2001-06-15 05:43:40 +00:00
thorpej 8eb3b954f1 Don't need to prototype child_return() here, it's in <sys/proc.h>. 2001-06-14 22:56:55 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
perry df452bb9b8 clean up some comments, per a request from sommerfeld 2001-06-11 22:56:26 +00:00
sommerfeld 0463a8a3d7 Replace magic numbers in trap code with offsetof()
Deal better with traps during register restore.
Explain a bit more about what's going on here.
2001-06-11 20:04:02 +00:00
sommerfeld b55c21bb0d Copy in segment descriptors all at once rather than one at a time. 2001-06-10 17:30:41 +00:00
simonb e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
lukem 178aeb74a0 work around lint issue (inspired by similar work in sparc port) 2001-06-07 04:44:05 +00:00
thorpej ec291b503a Allow the text address to be set with makeoptions. 2001-06-05 05:05:46 +00:00
tsutsui ad811093a3 Add iha at pci . 2001-06-03 13:46:57 +00:00
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
jdolecek 4db9600c94 use hd0a instead sd0a in 'help' command example 2001-06-02 14:56:13 +00:00
jdolecek 40033835d8 Comment DIAGNOSTIC, DEBUG out
Use the 'root on ? type ?' config by default, leave the nfs one commented out,
add line for root on ed0a
2001-06-02 10:37:27 +00:00
jdolecek f6af05f407 Back the last revision off, upon Bill Sommerfeld's request 2001-06-02 00:46:00 +00:00
jdolecek 5dbe622e77 When polling, raise priority level to tty, to block keyboard interrupts
when the system is "warm", i.e. interrupts are not blocked anymore.
This seems to be necessary on my PS/2 Model 70 keyboard - without this,
system ends up in endless loop calling the keyboard intr routine if a key
is pressed when polling. This _may_ be just specific to level-triggered
interrupts PS/2 MCA uses, though it's more likely it's just the way the
particular keyboard controller works.

Discussed on tech-kern@.
2001-06-02 00:01:04 +00:00
jdolecek b001ce9b90 g/c COMPAT_OLDBOOT from bootblocks, sprinkle some const
bump bootblock version to 2.10
2001-06-01 23:26:30 +00:00
itojun 5fbaedc40d sync with GENERIC 1.405 2001-06-01 16:50:31 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg 3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
sommerfeld 7d1ef74930 Fix kern/13049: missing unlock on failure exit from pmap_enter() 2001-05-27 14:31:27 +00:00
chs e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
sommerfeld bdecf91bef Add infrastructure to allow ports to override build of in6_cksum.c by
enabling the INET6_MD_CKSUM option, which is defopted into opt_inet.h.
Supply an i386 assembly version of in6_cksum in in_cksum.s; on
P6-family cpu's, this is is roughly 20% faster than the C code in
sys/netinet6 for ethernet-mtu-sized mbufs in L1 cache.  Turn on
INET6_MD_CKSUM in i386/conf/std.i386

While we're here, also nuke some now-obsolete XXX comments from
in_cksum.s.
2001-05-26 17:46:11 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
oki 0cc97f1b55 Fixed panic on the cpu made by unknown vendor,
such as Transmeta Crusoe.
2001-05-25 04:39:33 +00:00
sommerfeld e171bbe08e Correct handling of nxt==0 (skip pseudoheader) case.
(It helps a lot if registers contain the expected values)
While we're in here, also correct parameter names in the lint goo.
2001-05-23 15:56:51 +00:00
sommerfeld 8676150cb7 In kern/12554 workaround in pmap_page_remove, don't forget to unmap
(and unlock) the other pmap's pte's before continuing to the next
pmap.  Avoids pmap lock leaks (generates LOCKDEBUG warning, deadlocks
MULTIPROCESSOR).
2001-05-23 04:25:35 +00:00
perry cdc294674b add LINTSTUBs 2001-05-21 06:13:12 +00:00
perry c8057dc287 remove needless externs in front of function prototypes 2001-05-21 04:47:35 +00:00
jdolecek e3daef46ec Add some IBM PS/2 support bits:
* recognize PS/2 L40 via biosmca() and biosmca_ps2model in gatea20.c, instead
  of being a compile time option
* if the system is PS/2 with MCA bus, map DTYPE_ESDI disks to ed(4) for
  COMPAT_OLDBOOT

The new code is conditional on SUPPORT_PS2 define, which is on by default
for biosboot-based bootblocks.
2001-05-19 18:15:14 +00:00
jdolecek 2a7ff4a9ab Add biosmca.S if I386_INCLUDE_PS2 variable is "yes" (default, overridable) 2001-05-19 17:53:30 +00:00
thorpej e6d4fd2a55 Don't compute pseudo header checksum if nxt == 0. 2001-05-19 00:36:37 +00:00
lukem 9c92176b44 don't bother providing duplicate code for {read,write}_eflags() since it's in cpufuncs.h anyway 2001-05-17 16:35:06 +00:00
perry 6859233343 bcopy is dead on i386. the one use left in the kernel was in locore.s
itself, and that got replaced with a call to memcpy. Ross deserves
most of the credit.
note that if you've seen bcopy elsewhere in the kernel, systm.h
defines it as a macro...
2001-05-16 22:09:36 +00:00
kanaoka aa09aa91c7 Search the entire device-space of bus 0 if the router device
address is set to 000:00:0, and the compatible router entry
is undefined.

  Patch PR port-i386/12880 by Dave Sainty <dave@dtsp.co.nz>.
2001-05-16 08:10:36 +00:00
perry 4201bf1ae0 nuke bcopyw and bcopyb. It is unclear what they were for, and nothing
called them.
2001-05-16 05:01:28 +00:00
perry e266791dab Add a couple of include LINTSTUBs and fix some LINTSTUB prototypes.
Still exits hard because of bcopy/memcpy problem, but that is a
legitimate problem. bcopy should go and be replaced with memcpy to fix this.
2001-05-16 04:18:52 +00:00
lukem f1362289d2 changes to lint invocation:
- sort lint flags
- add flags -F (full pathname), -g (gcc extensions; XXX for now)
- lint CFILES before LINTSTUBS
- don't -Dvolatile=
- don't grep -v 'static function.*unused'
2001-05-16 03:48:45 +00:00
perry 098ba22210 1) Add infrastructure to generate lint stub files from stylized
comments in .S files.
2) Update "make lint" target to use generated lint stubs.
2001-05-15 22:34:36 +00:00
perry e69a194db2 1) Add stylized comments (used by new lint stub generation
infrastructure) to indicate what C stubs should be generated for
   various entry points.
2) Add comments noting various artifacts discovered while performing
   task 1), including a bunch of stuff that may very well no longer be
   used.
2001-05-15 22:31:38 +00:00
lukem 103a49d158 delint: don't try & return something from void eisa_intr_disestablish() 2001-05-15 15:07:37 +00:00
lukem 33e8c1a04f delint: don't try & return something from void pci_intr_disestablish() 2001-05-15 14:48:57 +00:00
jdolecek a97bf5e6b4 Change biosmca() to export the model number via biosmca_ps2model
variable, if the machine has a MCA bus according to info returned
by BIOS (i.e. on machines without MCA bus, biosmca_ps2model would be zero).

biosmca() is expected to be called on beginning the initialization,
and biosmca_ps2model is then used for further checks.
2001-05-14 22:14:47 +00:00
jdolecek 6c225c676c Compact the BIOS CFG printout 2001-05-14 14:14:09 +00:00
tron 74cc245bbe Fix typo: Pnp -> PnP 2001-05-10 22:12:38 +00:00
kleink dd4df24b01 Make the set of machine state restored by setmcontext() identical to that of
sigreturn().
2001-05-09 20:31:00 +00:00
ad ae9cc4fa8a Add an (untested) EISA front-end for the `mlx' driver. 2001-05-06 19:54:59 +00:00
jdolecek 3cacf40566 recognize ed as boot device 2001-05-05 17:53:59 +00:00
jdolecek 97500f67b8 print the model numbers slighly different way 2001-05-04 07:22:07 +00:00
thorpej 5871a60118 The AMD-K5 Model 0 gets the PGE bit in the CPU features word wrong
using the APIC bit instead, according to the AMD Processor Recognition
App. Note.  Add a fixup routine to patch up cpu_feature in this case.

XXX Need a way to kick the pmap to enable pmap_pg_g -- look at how the
MP branch deals with this.
2001-05-04 03:19:33 +00:00
thorpej 61ac6af20b - Fix a couple of botches in the AMD L2 cache info fetching.
- Start with 2 initial color bins, and recolor once we've determined
  the number of color bins based on the formula:
	(largest_cache_size / associativity) / PAGE_SIZE
2001-05-03 16:55:32 +00:00
thorpej 7049d99bc5 Oops, forgot to fill in function pointer in previous. 2001-05-03 16:04:26 +00:00
thorpej 5c15afd718 Rearrange the cache info fetching code some more, and add support
for fetching cache info for AMD processors.
2001-05-03 00:35:37 +00:00
thorpej f89ed957f1 - Keep cache/tlb info in the cpu_info structure.
- Add "associativity" to the cache_info structure.
- Add a (*cpu_cacheinfo)() function pointer, like we have a
  (*cpu_setup)() function pointer.  Cache info in the `cpuid'
  is vendor-specific.
2001-05-02 21:07:01 +00:00
jdolecek 7cb5602067 Nuke biosboot_ps2 2001-05-02 13:43:10 +00:00
jdolecek 7e111aa959 Add function which uses bios call to get system configuration; this can
be used for presence of MCA bus, if ever needed to be done in bootblocks.
Not used at the moment, but may be in future.
2001-05-02 13:41:07 +00:00
jdolecek 63958eee01 One item off TODO list - we check for MCA bus presence via bios call 2001-05-02 13:20:31 +00:00
jdolecek 0d6051b7f7 Find out the presence of MCA bus via bioscall(9).
g/c some unneeded stuff, make comments more accurate.
2001-05-02 13:18:34 +00:00
jdolecek 8aa43b5a54 The system configuration block structure doesn't need to be public 2001-05-02 13:16:33 +00:00
jdolecek 4caa2e3629 regen: add support for getting %es value from the bios call 2001-05-02 13:13:48 +00:00
jdolecek 0b26347639 Add support for getting %es value from the bios call. 2001-05-02 13:12:45 +00:00
jdolecek 9b12c80149 Move the initialization of bioscall stuff from cpu_startup() to init386(),
so that bioscall(9) is callable from mca_busprobe().
Only print the "biostramp installed @ ..." message #ifdef DEBUG_BIOSCALL.
2001-05-02 13:08:06 +00:00
scw 2963ff5c58 Add `l_poll' to `struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
lukem b8f8cf0235 remove some lint, including ansifying some inlines 2001-04-30 01:17:30 +00:00
thorpej 2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
fvdl 9554615dfb Set NMBCLUSTERS to the old value of 256 here, as the new default
will only be a waste of space for this configuration.
2001-04-29 12:48:12 +00:00
thorpej cb648add29 The idle loop page zero'er no longer needs to do uncached access
now that we have page coloring.
2001-04-29 04:42:04 +00:00
fvdl 70316ad6e1 Remove COMPAT_14. 2001-04-29 00:34:11 +00:00
kleink fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
jdolecek 3367b801f2 Add driver for SKNET Personal and MC+ - AMD Lance 7990 based ethernet cards.
Both models tested and seem to be quite stable and fast.

Thanks to:
- Hans Hubner <hans@Huebner.org> for giving me the cards for testing
- Georg Klug of Syskonnect, who provided me with hw docs for these cards,
  very promptly and willingly - I wish all vendors would be like this
- Alfred Arnold, Linux SKNET driver author, for giving me valuable Syskonnect
  contact :)
2001-04-27 18:03:40 +00:00
lukem 0808e23b17 cdev_vmegen_init can use cdev__ocrwim_init 2001-04-27 05:47:47 +00:00
thorpej 9d7220db23 Explicitly include <machine/pio.h>. 2001-04-26 17:56:37 +00:00
thorpej ea0e8e69d5 Const poison. 2001-04-26 17:55:54 +00:00
kleink 99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
thorpej d7e12660a3 Work around the problem that causes kern/12554. Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.
2001-04-25 16:18:24 +00:00
thorpej 5de93d4755 Move _i386_memio_unmap() into bus_machdep.c; the ACPI code wants it. 2001-04-25 03:31:23 +00:00
thorpej 1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
kanaoka bb0eabfe15 - fixup only #0 bus --> fixup maxbus.
- Don't pciaddr_do_resource_allocate if device is AGP
   to avoid conflict.
2001-04-23 19:15:29 +00:00
jdolecek 7c9c35e3e7 Move the inclusion of 'mca.h' so that it doesn't depend on pcppi. The clock
interrupts are properly reset on PS/2 now.

Handle the slighly different PS/2 CMOS layout and get/set century
byte as appropriate. The check for valid CMOS CRC checksum is not implemented
yet; I don't currently know algorithm they use.

The info about PS/2 CMOS was taken from the Padgett Peterson's
x86/MSDOS Interrupt List, release 60.
2001-04-23 09:35:12 +00:00
jdolecek e99b513ca1 fix typo 2001-04-23 05:45:43 +00:00
thorpej 55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej ec66f67f3a Use pmap_kenter_pa() rather than pmap_kenter_pgs(). 2001-04-22 23:28:52 +00:00
thorpej 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
soren a671e50d00 Put tr(4) in network section. 2001-04-22 19:53:25 +00:00
jdolecek 24568e5a13 Since IBM PS/2 support is becoming quite stable, remove the lenghty
disclaimer on top and leave only necessary fragments.
edc(4) seems to be quite stable, remove the EXPERIMENTAL note
2001-04-22 19:15:05 +00:00
jdolecek 0800e2ed46 add major { ed = 20 } 2001-04-22 18:39:49 +00:00
jdolecek 912e570671 Introduce machdep mca_disk_[un]busy(), which turn on/off disk LED.
Call as appropriate from the ESDI disk driver
2001-04-22 11:52:18 +00:00
jdolecek 738e87aeb9 fix argument for bitmask_snprintf() (stylistic only, code is commented out anyway) 2001-04-22 11:51:45 +00:00
thorpej 4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
fvdl 4c41d3275c s/cheap/expensive/ for DIAGNOSTIC 2001-04-21 21:10:41 +00:00
fvdl 41a3ee5d58 Note that the (already commented out) DIAGNOSTIC option is expensive. 2001-04-21 21:03:46 +00:00
fvdl 2654febb55 Remove DIAGNOSTIC and mark it as expensive. 2001-04-21 21:02:03 +00:00
fvdl a1b8e618af Doh. Put the option *after* the include of plain GENERIC. 2001-04-21 20:58:13 +00:00
fvdl 781af989f9 Move the DIAGNOSTIC option to a seperate config file, it's too expensive
to be in GENERIC (which should be a kernel ready for production use).
2001-04-21 20:49:14 +00:00
jdolecek 6402f68d79 Match any device with class bridge and subclass BRIDGE_MC, instead
of matching individual products. Pointed out by Jason Thorpe.
2001-04-21 19:18:20 +00:00
kanaoka 9d36cadfe7 - Allocate memory map entry correctly to avoid Compatibilty Holes.
- Update some comments.

 patch provided by: enami tsugutomo <enami@sm.sony.co.jp>
      suggested by: John Hawkinson <jhawk@MIT.EDU>
2001-04-20 09:10:45 +00:00
jdolecek a98cbd0740 Add MCA ne(4) attachment for Novell NE/2 Ethernet adapter and clones.
Tested with NE/2 card provided to me by Hans Hubner <hans@Huebner.ORG>.

The Compex and Arco cards were not tested. According to Linux ne2 driver,
they should work same way as NE/2.
2001-04-20 07:37:42 +00:00
uch 9b730bc368 patch PR port-i386/11114 by MINOURA Makoto. 2001-04-19 17:32:40 +00:00
jdolecek dbf91c827d Use "edc" instead of "dasd". As pointed out by Soren, dasd doesn't
mean anything special in IBM-talk. And edc better matches prior art, too.
2001-04-19 17:17:28 +00:00
jdolecek 0915128873 add stuff for ESDI disks, marked as EXPERIMENTAL 2001-04-19 07:37:10 +00:00
jdolecek e1d848e38a add ed at mca (ESDI disk) 2001-04-19 07:34:28 +00:00
kanaoka e2749d2799 Add "Sanity check the entry" code to avoid Compatibilty Holes
(0xa0000 -- 0xfffff).
2001-04-18 05:44:10 +00:00
kleink f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink 739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
augustss 72eb64fead Propagate __HAVE_GENERIC_SOFTINTR to assembly files. 2001-04-14 13:56:02 +00:00
kleink 7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej 8b3fc18a1f Generic soft interrupt implementation for NetBSD/i386. This could
probably be tuned somewhat, but this is a stop-gap measure to hold
us until Bill Sommerfeld's new interrupt code comes in from the
MP branch.
2001-04-14 06:49:30 +00:00
thorpej bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
kleink 9133b51cd8 Replace the 'unsigned __COMPILER_INT64__' construct with a new name,
__COMPILER_UINT64__, to be supplied - if such a case is made, it shouldn't
be assumed that the unsigned type-specifier may be applied to it.
2001-04-12 22:01:18 +00:00
fvdl 7d1452855c Fix bus_space_write_multi_* in the memory case; the asm constraints
were wrong.
2001-04-10 12:59:32 +00:00
jdolecek e482ee9d62 add rnd (for ssh/sshd) and couple comments 2001-04-06 06:44:08 +00:00
jhawk d95ba2eb80 Remove gratuitous setting of SYSDIR;
it is set in sys/kern/Make.tags.inc
2001-04-03 17:12:23 +00:00
fvdl ecca88089a Override NFS read and write size to default to 32k for the i386 here
(can be overridden from a config file).
2001-04-02 11:48:18 +00:00
chs 10e361a3bf in the 386 case of copyout(), reload "len" from the stack after verifying
write permission since pcb_onfault will clobber %eax if we fault.
2001-04-01 23:54:14 +00:00
jdolecek 8a08e12c86 slighly adjust comment 2001-04-01 23:14:02 +00:00
hubertf 267271c1b2 Explain some SA_* options - reading compressed kernels, netboot
Useful for stripping down bootcode.
2001-03-31 09:45:11 +00:00
minoura 1a1b6fb6d2 Match XpressAudio. 2001-03-31 09:24:37 +00:00
minoura 92e327c226 Match PNP0320 (Japanese 106-key keyboard A01).
- We could use this information to determine the default keymap (?)
 - Match more keyboards? (e.g.strncmp(idstr, "PNP03", 5))
2001-03-31 09:20:40 +00:00
jdolecek 803c0c7eda Add driver for AT1720 MCA cards. This uses generic MB86960 support code,
and shares some bits with ISA AT1700 driver. Gee, this one was really
easy :)

This card turned out to be quite good performer - I get about 360KB/s
on 386DX PS/2 machine, which is best of all supported cards so far.
2001-03-31 00:43:04 +00:00
minoura a9a5dcd043 Add yds at pci and children.
Alpha and i386 are the only tested ports.
2001-03-30 14:47:48 +00:00
mycroft 355086c412 The `speed' statistic from the RNG was brought to you by the letter `B' and
the letter `S'.  I don't think anyone will miss it.
2001-03-30 12:05:02 +00:00
ichiro a8c0b619da support umct USB-serial device 2001-03-28 18:45:07 +00:00
lukem 20ba07f2fe - add dev_noimpl(xxx,yyy) macro to replace "(dev_type_xxx((*))) yyy",
and use appropriately

- create more helper macros:
   . cdev__xyz_init(c,n), such as cdev__ocri_init() for
     /* open, close, read, ioctl */, etc.
   . cdev__xRy_init(c,n), where nullop is used instead of enodev to dummy out
     method `R' and the comments now read /* xxx (read) yyy */ instead
   . cdev__xyz_t_init(c,n,t) - as per cdev__xyz_init, but sets d_type = t
     as well

- use seltrue instead of dev_noimpl(poll,*), as (IIRC) cdevsw.d_poll should
  always DTRT WRT returning a valid result.  (a few devices previously
  incorrectly returned ENODEV)

- use dev_noimpl(stop,enodev) instead of dev_noimpl(stop,nullop) if tty
  == 0, because it doesn't matter if dev_type_stop isn't implemented in that
  case, and it allows the use of the cdev__xyz_init macros. certain ports
  (sparc,sparc64,x68k) used the nullop method for dev_type_stop in a few
  drivers, whereas everything else uses enodev

- ensure that the comments are accurate WRT the behaviour of a given entry
2001-03-26 12:33:22 +00:00
jdolecek b53fce84d3 Add an autoconfig node for PCI-MCA bridges. Configures MCA bridges
via callback. This beast is very rare, present only on some IBM PCs.
Code was copied off pceb.
2001-03-25 09:54:10 +00:00
christos 728aee3ccb Some bios's when apm is disabled [or even some functions of it are disabled],
they keep giving error 0x30b. Unfortunately this keeps happening every second
making the console unusable. Keep track of the last error that occurred and
if the last 10 times apm was called the same error was returned, give up and
exit the apm thread.
2001-03-24 02:07:54 +00:00
jdolecek 75b7bea508 Add MCA we(4) attachment for WD80x3 cards and clones. Tested with
WD8003W/A, card provided by David Brownlee (thanks!). The SMC Elite stuff not
tested since I don't have any; hopefully it's correct, should match
information in ADF files.

The MCA-specific init quirk taken from Linux smc-mca.c driver.
I don't quite grok why it works, but it does *cross fingers*.

The WD8003W/A seems to be quite a good choice. I get like 340KB/s on my
machine, where 3c523 does only like 310KB/s. The numbers would be probably
even better with faster CPU than 386DX :)
2001-03-23 19:25:35 +00:00
jdolecek 031c6d8c24 Add MCA ep(4) attachment, for 3Com 3c529-type cards. Tested with 3c529-TP,
provided to me by David Brownlee (thanks!).

Performance of this card is quite poor on my PS/2 with 386DX, like 100KB/s
at best, but as low as 5KB/s when transferring bigger files due to
packet overruns. It would be good to revisit this later, probably by
teaching the ic code to use RX Early.
2001-03-22 16:54:45 +00:00
lukem 9f60674a47 now that duplicated stuff has been moved to sys/conf.h, remove unnecessary
defs for: lpt, joy, pc
2001-03-21 23:42:14 +00:00
lukem 723cd818d8 move duplicate definitions for:
pc, lpt, joy, ocis, apm, satlink, i4bctl, i4brbch, i4btel, i4btrc, i4b
from the port-specific arch/*/*/conf.c files into sys/conf.h
2001-03-21 22:25:52 +00:00
lukem 7fec679447 sync to GENERIC 1.400 2001-03-20 05:49:32 +00:00
jdolecek 1360c6c34c add com at mca, bpfilter
add comment for elmc, describing what it is for
2001-03-19 22:08:17 +00:00
itojun 846f79ea76 LAMB uses nonstandard timer frequency. set TIMER_FREQ to appropriate
value (otherwise severe clock delay will result).
http://www.wildlab.com/bbs/logview.cgi?pg=9&no=521
2001-03-18 15:24:14 +00:00
chs 1fae55f3ae in trap(), when invoking the pcb_onfault mechanism, pass the return value
of uvm_fault() to the onfault routine via %eax.  users of pcb_onfault now
return this value to their callers rather than always returning EFAULT.
this allows i/o errors in VOP_GETPAGES() to be returned back to read(), etc.
2001-03-18 02:53:09 +00:00
jdolecek 3261555469 bump maxusers to 8 2001-03-17 09:55:32 +00:00
jdolecek f3d3e9a30e add elmc(4)
convert from memory disk to diskless-type config
2001-03-17 09:53:54 +00:00
chs ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
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