Commit Graph

1195 Commits

Author SHA1 Message Date
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
thorpej
7f10ba88b1 #define away pmap_update() in <machine/pmap.h> so that no function
call overhead is incurred as we start sprinkling pmap_update() calls
throughout the source tree (no pmaps currently defer operations, but
we are adding the infrastructure to allow them to do so).
2001-04-21 23:51:14 +00:00
thorpej
15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +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
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
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