isa_intr_{,dis}establish()) here. Make this file safely includable by
<dev/isa/isavar.h> and by all of the places in the i386 that are currently
including it, which means multiple inclusion protection and a few
otherwise-extraneous 'forward' structure declarations. isa_intr_establish()
and isa_intr_disestablish() now take as their first argument a
machine-dependent cookie of type isa_chipset_tag_t, which is also defined
here.
in VM86 mode.
Allow changing of *all* PSL bits in VM86 mode; some applications don't work
right otherwise, and all the nasty bits are virtualized anyway.
Make sure PSL_VIF, PSL_VIP, and PSL_VM don't show up in the user's view of
the PSL.
the bus is configured, interrupts are handled, etc. define
eisa_chipset_tag_t and eisa_intr_handle_t types, and the following
functions:
eisa_attach_hook()
eisa_maxslots()
eisa_intr_map()
eisa_intr_string()
eisa_intr_establish()
eisa_intr_disestablish()
to do the right things for the i386.
temporarily revert bus config order back to isa->eisa->pci
until port allocation/accounting is ready (XXX).
works around problem of the if_ep driver's probe function trashing
an adaptec 2940 if the BIOS maps it in at port 0xf000. (the
BIOS on my new P166 does this, ... the BIOS on my P133's does not).
without this the P166 system will reset as soon as spl0() is called
(autoconf.c) making it impossible to install the OS.
(soon to be documented on mailing lists; eventually in section 9 manual
pages), most importantly:
(1) support interrupt pin swizzling on non-i386 systems with
PCI-PCI bridges (per PPB spec; done, but meaningless, on i386).
(2) provide pci_{io,mem}_find(), to determine what I/O or memory
space is described by a given PCI configuration space
mapping register.
(3) provide pci_intr_map(), pci_intr_string(), and
pci_intr_{,dis}establish() to manipulate and print info about
PCI interrupts.
(4) deprecate the pci_map_* functions, and provide them only
as compatibility interfaces (in pci_compat.c) which will
eventually go away, implemented as wrappers around
the functions described above.
(5) make pci functions take as an argument a machine-dependent
cookie, to allow more flexibility in implementation.
- split softc size and match/attach out from cfdriver into
a new struct cfattach.
- new "attach" directive for files.*. May specify the name of
the cfattach structure, so that devices may be easily attached
to parents with different autoconfiguration semantics.
which represents the "keyboard controller". Give "pc" and "vt" drivers
the "pckbd" attribute. In pcattach() (pccons and pcvt), attach children
of the keyboard controller.
prototype in sys/systm.h (which was just put in in by christos)
with revision 1.43 of sys/systm.h
revision 1.43
date: 1996/03/14 18:59:12; author: christos; state: Exp; lines: +1 -3
systm.h: Bring Debugger() prototype into scope.
hook (pci_md_attach_hook()) to do any machine-dependent attachment
gunk, e.g. on the i386 printing out the configuration mode (if bus 0)
(2) don't pass max device number for a given bus in, use
PCI_MAX_DEVICE_NUMBER, which can be defined on a per-machine basis.
(defaults to 32. on i386, it's 32 if pci conf mode == 1, 16 if 2.)
multiport cards no longer need 'flags 1', because the "don't set IEN"
requirement is communicated by the commulti_attach_args. com.c no longer
recognizes 'flags 1' at all.
partition, add the MBR partitions to the default (faked-up)
disklabel used by NetBSD if it can't find a real one. If the
type of the MBR partition is one of the common DOS ones, mark the
partition as having an MSDOS filesystem.
'logically right' thing: define a mainbus_attach_args union which is
all of the subdevices' bus attach args, together with the part that's
shared by all of them, a const char * (the bus name).
machine-independent code for more sane access to bus resources.
New functions will be added to this set, in the future, as appropriate,
but this is a good starting set. Defines:
bus_{io,mem}_{map,unmap}
bus_{io,mem}_{read,write}_{1,2,4,8}
functions, and several types to go with them.
execpt without quotes. meant to be __CONCAT()ted for easy #includes
of machine-dependent headers for MI code (e.g. for the MI ISA/EISA/PCI/TC
bus code).
now has a single device tree (rather than a forest). Also, attach
EISA only if it's present, and attach in order: PCI, EISA, ISA (most
specific to least specific).
retrying the operation. Fixes disk_unbusy() imbalance and really seems
like the right thing to do in case it was the seek that failed. Takes
care of PR #1985. Patch from John F. Woods <jfw@jfwhome.funhouse.com>
- New metrics handling. Metrics are now kept in the new
`struct disk'. Busy time is now stored as a timeval, and
transfer count in bytes.
- Storage for disklabels is now dynamically allocated, so that
the size of the disk structure is not machine-dependent.
- Several new functions for attaching and detaching disks, and
handling metrics calculation.
Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.
For usage and architectural details, see the forthcoming disk(9) manual
page.
at halt time, especially if a floppy was mounted. Added a shutdown hook
to turn off the motor. Per a request by mycroft, the cookie from the hook
is saved in a new member I added to the fd_softc structure.
to time out the boot prompt. Now uses a usleep() routine that calls
the BIOS and the functionality is separate from gets(). Timeout is
#defined to 5 seconds. Also did some minor cleanup in preparation to
prototype/ANSIfy everything.