Commit Graph

1176 Commits

Author SHA1 Message Date
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
leo ba0a86fa22 There are no level1 or level7 interrupts possible on the Milan... 2001-04-12 09:09:56 +00:00
leo 8507fcec54 Update these for Milan addresses. 2001-04-12 07:17:30 +00:00
leo 3f7694f804 Adapt these for use on the Milan. 2001-04-11 14:45:07 +00:00
leo 247d880fc9 The Milan uses the U0 pin to switch the pci-bridge between little & big
endian mode. That's why I moved the 'wired' flag to U1.
2001-04-10 19:51:00 +00:00
leo dcc1c6a9fb Take NFDISA into account. 2001-04-10 19:36:20 +00:00
leo dc0e725f9d full[tc]flush from GLOBAL -> ASLOCAL. 2001-04-10 13:59:10 +00:00
leo 3e3afaaac3 Regen. again... 2001-04-10 07:03:49 +00:00
leo e3d2d361fd The Hades also uses the TT030 like SCSI driver. Remove 'mouse' here... 2001-04-10 06:46:01 +00:00
leo 2d38da2932 Initial MILAN generic config 2001-04-10 06:39:36 +00:00
leo e409b5d5df Regen. 2001-04-10 06:39:10 +00:00
leo 99047718f0 fdisa needs-flag... 2001-04-10 06:37:08 +00:00
leo 30f5357c6e Move dma.c away from the mainbus floppy and make it a separate entity with
tag 'mbdma'.
2001-04-10 06:36:08 +00:00
leo e159fdc910 files.atari:
Defopt motherboard type and make ym2149.c dependend on 'standard' atari
    boards.
Configfiles:
    Add pseudo device mouse. It got dropped in the moves by accident.
2001-04-10 06:28:38 +00:00
leo dfaa29355b Add a config file for the Milan. Note that you cannot build a working Milan
kernel yet. There are still quite some bits missing in the repository.
2001-04-10 05:56:25 +00:00
leo 1e08d983e3 Move GENERIC to GENERIC.in . This avoids confusion since GENERIC is not a
standalone config file anymore.
2001-04-10 05:52:14 +00:00
leo adc78de568 Regen. 2001-04-06 21:55:11 +00:00
leo 54d70d6eef Add a 'ser0' device to all. Add ne2000, 3Com 3c59x/3c90x and ESS Solo-1
support to the Hades.
2001-04-06 21:53:39 +00:00
leo 1324cab42e And commit the generated files. 2001-04-05 12:25:15 +00:00
leo 6b22a0776c Forgot this in previous commit. 2001-04-05 12:22:10 +00:00