Commit Graph

46 Commits

Author SHA1 Message Date
chris f220cad8dd Use ffs like routine in the footbridge irq handling. It is now very similair to the iomd irq handler.
Note that I've kept the existing quirk of still passing the irq to the next handler even if the irq handler returned 1.  I need to investigate why we do this.
2001-05-23 21:23:54 +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 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
matt 5f6967f571 A small change for NETWINDER support. (netwinder needs its own pci_attach_hook) 2001-04-20 16:52:04 +00:00
matt d6fc837c17 more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes
move pmap_* declarations to pmap.h.  fix conflicts this
exposed (e.g different definitions for pmap_bootstrap).
2001-03-04 19:05:55 +00:00
bjh21 3fb058011a Move arm32 ports over to using <arm/armreg.h>, so <cpu.h> mostly contains
NetBSD-specific definitions.

This also entails some changes to the way CPU identification is done.  I hope
I've got it right.
2001-02-25 21:31:13 +00:00
tsutsui 6b047fe46b In footbridge_pci_intr_map(), pcv and intrtag are used
only #ifdef PCI_DEBUG. Move declarations in it.
2001-02-08 13:59:38 +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
mycroft 7057d01bbc Inline need_resched() and need_proftick(). Make need_proftick() actually *do*
something!
2000-12-12 06:06:05 +00:00
eeh bc7363329c Adapt to new line discipline scheme. 2000-11-02 00:26:35 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mrg 2f159a1bac remove/move more mach vm header files:
<vm/pglist.h> -> <uvm/uvm_pglist.h>
	<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
	<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
	<vm/vm_object.h> -> nothing
	<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
2000-06-26 14:20:25 +00:00
mark 3880aa267c Implement bus_space_write_region_4() and bus_space_read_region4()
for footbridge.
2000-06-24 09:42:47 +00:00
soda 0f76c56f2d increase number of parameters of pckbc_cnattach(), since offset of command port
is not 4 (KBCMDP), but 1 on jazz based platforms of arc port.
2000-06-09 04:58:32 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
drochner 5e990a7f7c implement bus_space_vaddr() 2000-04-17 17:39:17 +00:00
ws b7570cae85 Update several ports to at least work again without IPKDB
after the update of that.
Sorry for breaking this with my last changes :-(.
Fixes PR#9671 by Lennart Augustsson.
2000-03-24 17:05:30 +00:00
thorpej b667a5a357 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 06:30:07 +00:00
thorpej a183d34f04 - Implement cnbell() -- ring the console bell. The cn_bell entrypoint
is optional.
- Add cn_bell to statically allocated consdevs as appropriate.
2000-03-06 21:36:05 +00:00
mark 9b9e4e5a8f defopt EBSA285 and FOOTBRIDGE. 2000-03-06 03:15:46 +00:00
mark 7ef62e2b59 Remove unncessary cf_unit usage.
Make sure we only attach 1 of these devices.
2000-02-13 05:00:57 +00:00
mark 9316cea99d Remove unnecessary cf_unit usage. 2000-02-13 04:59:57 +00:00
tsutsui b236cf48c3 check whether tv_usec >= 1000000 2000-01-22 05:21:24 +00:00
mark 8920fc9215 Rework of kernel I/O & memory mappings along with new implementation of
bus_space_map for PCI memory.
The mapping of system devices and I/O space has been shuffled to place them
at the top of memory leaving a larger contiguous chunk between the kernel
itself and the I/O mappings for the kernel VM area. This allows support
for kernel VM areas > 48MB.
The 144MB fixed mapping of early PCI memory space has been removed and a
new version of the bus_space_map() function has been implemented to map
PCI memory into the kernel VM area as required rather than using the fixed
mapping.
A mapping of the first 1MB of PCI memory is maintained for ISA memory
accesses and accesses to the VGA memory.
2000-01-10 07:43:07 +00:00
mark cd20e6eb44 Add fields found in new format ebsaboot structures. 1999-12-06 09:55:57 +00:00
thorpej 4560ac465a Split the PC-like keyboard controller driver into chip back-end and
bus front-end.
1999-12-03 22:48:22 +00:00
cgd c9c2181ed9 provide an __ELF__ version of _C_FUNC and _C_LABEL, convert the assembly
#defines in asm.h to use them, and convert code which needs to use C labels
to use _C_LABEL as well.  (I can't see any reason why the label vs. function
differentiation shouldn't be GC'd; i only added uses of _C_LABEL.)  This
should help if this port is converted to use ELF, and was checked by
compiling all kernels in arm32/conf (with some driver removals and some
MI header fixups re: common blocks) with an arm-linux ELF toolchain.
1999-10-26 06:53:41 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
mark ccb5b09c4f Grr. Nuke the remaining allocsys() prototypes. 1999-05-27 09:08:09 +00:00
mark 9a56e04261 Fix microtime() to sanely handle calls before the clocks have been
initialized. This is the DC21285 version of the IOMD fix for PR7357.
1999-04-23 09:09:04 +00:00
mark e9dc39c682 Fix this so that it compiles when IRQSTATS is not defined. 1999-04-05 07:04:17 +00:00
mycroft 665b05efd4 GC physical_memoryblock. 1999-03-29 10:02:19 +00:00
mrg d2397ac5f7 completely remove Mach VM support. all that is left is the all the
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
mark 54e053627e Implement bus_space_{read,write}_region_2().
Make bus_space_copy_region_2() work correctly for overlapping regions.
1999-02-27 11:14:27 +00:00
mark 9b3c03f9cc Update for name change of pv_addr_t structure members. 1999-01-03 02:23:27 +00:00
mark 767af4d82c Add a check for r8 equal to 0 and do a quick exit if it is. 1998-12-28 09:39:02 +00:00
mark 85d4fddd28 Use the footbridge pci bus space tags when attaching a vga console so
that the wscons code will recognise them later and correctly setup
cn_tab when the wsdisplay device is attached.
1998-11-10 04:34:05 +00:00
mark c082b04018 Implement a separate function to set up the pci io and mem bus space
tags.
1998-11-10 04:32:03 +00:00
mark e695fe5347 Implement bus_space_copy_region_2() for footbridge tags. 1998-11-10 04:29:21 +00:00
mark c70acc4a87 Add console initialisation for wscons via VGA.
Use the boot options console=xxx to select the console where xxx is
vga, fcom or com.
1998-10-12 03:32:51 +00:00
mark 35f31dce6e Implement consinit() here instead of using the arm32/machdep.c version.
Use information passed from via the boot arguments to determine which
device to use as the console.
Add support for initialising the CATS ISA subsystem.
During the early bootstrapping use fcomcnattach()/fcomcndetach to enable
debug and diagnostic information to be sent to the diagnostic serial
port. This is only used during the early part of initarm() until things
have been relocated and the real console can be initialised().
1998-10-05 02:40:26 +00:00
mark 8909a4e529 Define both EBSA285 and CATS bootinfo structure magic numbers. 1998-10-05 02:36:49 +00:00
mark 4d8d0f4e6d Define fcomcnattach() and fcomcndetach() functions for the diagnostic
serial port.
Disable the old probe and init functions as we no longer use constab and
cninit().
1998-10-05 02:36:02 +00:00
mark 91eeeff347 Add support for interrupts that are actually routed via an ISA interrupt
controller.
(I'm not happy with this approach but it works so I'll use it for the
moment until I complete run-time selection of the interrupt handling based
on recognised hardware).
1998-10-05 01:09:38 +00:00
mark 71150c9734 Initial commit of board support for DEC/Intel EBSA285 architecture
systems include the Chalice CATS board and others running the cyclone
firmware.
1998-09-06 02:23:36 +00:00
mark 0823f75d49 Initial commit of DC21285 'Footbridge' core logic support for the
StrongARM SA110 processor
The DC21285 provides memory controller, timers, interrupt controller
PCI-HOST bridge and diagnostic serial port.
1998-09-06 02:20:33 +00:00