Commit Graph

1203 Commits

Author SHA1 Message Date
chs 821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
leo 49927dd845 Add itepoll() prototype as suggested by 'maximum entropy' (pr#13047). 2001-05-30 14:25:07 +00:00
mrg 67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
leo 3c596b34a3 We need the fonts for pci_vga too... 2001-05-29 10:39:56 +00:00
leo bb159c932e Regen. 2001-05-29 06:45:56 +00:00
leo dbacb7c9b6 Move over to pciide. My CDROM drive wouldn't work with the wdcisa attachment,
but it does work with the pciide attachment.
2001-05-29 06:42:21 +00:00
leo 49009d088a Import pciide_machdep.c from i386. 2001-05-29 06:26:08 +00:00
leo 60c1352cd4 Prototype milan_vga_init() 2001-05-29 06:02:26 +00:00
leo 73cc88a7dd Whoops, where did the include of vga_pci.h go? 2001-05-29 06:01:27 +00:00
leo 0f3cd124db Fix compile error. 2001-05-29 05:58:18 +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
leo ed8360b3d7 Add missing semicolon. 2001-05-28 14:40:49 +00:00
leo 2bcf7a5971 Add 'prev_sr' argument to milan_isa_intr() so we can properly defer interrupts
that come in at the wrong time.
2001-05-28 08:41:37 +00:00
leo b1ff453ae9 Add Milan console initialisation code. 2001-05-28 08:30:03 +00:00
leo 722a3ab56b Add VGA console probes. 2001-05-28 08:12:47 +00:00
leo a82df0faed Pass iot and memt to check_for_vga() 2001-05-28 07:22:37 +00:00
leo 78dbcfe665 Add bus_space_vaddr(). 2001-05-28 07:16:11 +00:00
leo be288018e2 PCI_VGA_SIZE -> PCI_MEM_SIZE. (Plus some comments on those constants). 2001-05-28 06:43:19 +00:00
chs e44e9dec8a replace vm_page_t with struct vm_page *. 2001-05-26 21:27:02 +00:00
chs 118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
leo cded1f4afe Initialize to CGA mode. Wscons expects this. 2001-05-21 14:30:41 +00:00
leo b14e1e46e1 Regen. 2001-05-21 14:09:09 +00:00
leo 679b424519 Without __HAVE_NWSCONS, the keyboard won't attach... 2001-05-21 13:30:31 +00:00
leo cfc3edb550 remove some debugging leftovers. 2001-05-16 08:45:50 +00:00
leo 8406481cd3 Regen. 2001-05-16 07:53:54 +00:00
leo 7cab6084a4 Fix errors in previous commit:
- forgot PCI bus
 - forgot pckbd config
2001-05-16 07:50:29 +00:00
leo 68f5fe6e81 Split pci_machdep into a generic/hades/milan part. There is much difference
in configspace and interrupt handling.
2001-05-15 14:14:48 +00:00
leo 3ac9086605 Add an NMI handler for the Milan. 2001-05-15 13:57:43 +00:00
leo 4a1227bb56 Add some Milan support functions:
- Low level isa interrupt handler
  - NMI fault handler - catches PLX access errors
  - PCI configspace read/write functions
2001-05-15 13:49:56 +00:00
leo 6d7aa9b12e Enable NMI for Milan. It is used for signalling PLX faults. 2001-05-15 13:46:23 +00:00
leo b38e85279e Allow attachment of a pc-keyboard at console attach time. 2001-05-14 13:18:47 +00:00
leo 6f308f43e8 Add wscons related includes. 2001-05-14 13:10:45 +00:00
leo b522de8af5 Adapt for the Milan. 2001-05-14 11:58:30 +00:00
leo 4eec72908c Regen. 2001-05-14 10:41:03 +00:00
leo f284e82b99 Add (ws)console stuff. 2001-05-14 10:35:30 +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
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
bouyer 937a7a3ed9 Pull up the thorpej_scsipi branch to main branch.
This is a completely rewritten scsipi_xfer execution engine, and the
associated changes to HBA drivers. Overview of changes & features:
- All xfers are queued in the mid-layer, rather than doing so in an
  ad-hoc fashion in individual adapter drivers.
- Adapter/channel resource management in the mid-layer, avoids even trying
  to start running an xfer if the adapter/channel doesn't have the resources.
- Better communication between the mid-layer and the adapters.
- Asynchronous event notification mechanism from adapter to mid-layer and
  peripherals.
- Better peripheral queue management: freeze/thaw, sorted requeueing during
  recovery, etc.
- Clean separation of peripherals, adapters, and adapter channels (no more
  scsipi_link).
- Kernel thread for each scsipi_channel makes error recovery much easier
  (no more dealing with interrupt context when recovering from an error).
- Mid-layer support for tagged queueing: commands can have the tag type
  set explicitly, tag IDs are allocated in the mid-layer (thus eliminating
  the need to use buggy tag ID allocation schemes in many adapter drivers).
- support for QUEUE FULL and CHECK CONDITION status in mid-layer; the command
  will be requeued, or a REQUEST SENSE will be sent as appropriate.

Just before the merge syssrc has been tagged with thorpej_scsipi_beforemerge
2001-04-25 17:53:04 +00:00
leo 56ea880f14 Both isa_hades.c and isa_milan.c are also dependent on 'isa' of course... 2001-04-24 10:56:54 +00:00
leo 164b045485 Split the ISA common attachment stuff and the interrupt handling.
There are too many differences between the Hades and Milan in this area.
2001-04-24 06:39:47 +00:00
leo a1bcd64a89 The register spacing for the Milan is different. 2001-04-24 06:27:58 +00:00
leo d7512523ba Add sanity checking on register B of the mc146818. 2001-04-24 06:26:48 +00:00
leo 8e9f65f2a7 Don't emit SCU defines when it isn't present. 2001-04-24 06:17:22 +00:00
leo 7488e821c5 Handle cases in which the cpulabel pointer == NULL. 2001-04-24 06:15:42 +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
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 69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +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