Commit Graph

5032 Commits

Author SHA1 Message Date
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
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