Commit Graph

124 Commits

Author SHA1 Message Date
thorpej
af66038f73 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:15:10 +00:00
thorpej
b1ec255377 Add a "firstbus" argument to pci_configure_bus(), indicating the
first bus number to use, rather than always assuming that we should
start at bus #0.
2001-11-09 19:29:12 +00:00
thorpej
6fd8d278ed pci_conf_interrupt() takes bus/dev/pin, not bus/dev/func. 2001-10-29 23:33:42 +00:00
thorpej
90a2bc2cf7 For MIPS kernel Makefiles, don't set ENDIAN in std.${MACHINE}. Instead,
explicitly set MACHINE_ARCH to the appropriate thing.  Makefile.mips will
then set all of the internal variables it needs to accordingly.
2001-10-23 20:40:00 +00:00
simonb
e1f5fbd944 Fix a tyop in a comment. 2001-10-20 13:47:09 +00:00
simonb
d9e75e198e Fix typo in mmap hander. 2001-10-20 05:56:35 +00:00
simonb
cfd067b21b One copy of <sys/conf.h> will be enough. 2001-10-03 13:14:02 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
simonb
a41b7a380e Clean up and standardise across MIPS ports. 2001-09-09 04:20:25 +00:00
thorpej
81bcece4d4 Implement bus_space_mmap(). 2001-09-04 16:32:42 +00:00
simonb
c91e08563f Clean up. 2001-09-04 06:26:18 +00:00
simonb
62fb390c64 May as well include <mips/cpuregs.h> in <mips/cpu.h> once rather than
in every MIPS port's <machine/cpu.h>.
2001-09-04 06:23:15 +00:00
simonb
214f5366ea Centralise struct cpu_info declaration and related info to <mips/cpu.h>. 2001-09-04 06:19:21 +00:00
simonb
a6b8c86af0 Remove an unneeded comment; ``sync'' with other "just include <mips/foo.h>"
files.
2001-08-31 03:53:22 +00:00
simonb
4ac4da1c52 G/C the unused kernel-only CLK_TCK #define.
XXX: does include/time.h still need <machine/limits.h>?
2001-08-31 03:46:03 +00:00
simonb
bcdac55add Fix the display of the CPU clock speed. 2001-08-24 02:11:01 +00:00
simonb
8375df5b6a Whitespace nits. 2001-08-24 02:07:34 +00:00
thorpej
15dcb4a98e Link the kernel at 1MB. 2001-08-22 19:44:47 +00:00
thorpej
9f019df56f Allow a keypress on the console to transition from "halted" to "returning
to monitor".
2001-08-22 19:13:09 +00:00
thorpej
f0ea5cb1e9 Don't need to do the Alpha boot block checksum here :-) 2001-08-22 17:53:44 +00:00
thorpej
17c22a634f Set PCI_NETBSD_ENABLE_IDE to 0x01, so that the first IDE channel
will be enabled.
2001-08-22 00:42:43 +00:00
thorpej
f5e6f05c1a If PCI_NETBSD_ENABLE_IDE is set, enable the PIIX{3,4} southbridge
IDE channels on the P-5064 and P-6032, since PMON doesn't do it
for us (thus causing the `pciide' driver to ignore them).
2001-08-22 00:40:38 +00:00
wiz
ef8d715888 bzero -> memset 2001-07-22 15:11:01 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
tsutsui
df016928f8 Remove (commented out) ncr* at pci? lines. 2001-07-07 17:09:47 +00:00
thorpej
7a1408c38b Deal with different `memsize' convention on new PMON revs. 2001-06-25 21:25:07 +00:00
thorpej
498641fc7e Print more BONITO rev. info. 2001-06-25 20:15:57 +00:00
thorpej
2a171eff3a Correct a typo. 2001-06-22 14:29:12 +00:00
thorpej
3ae8717568 Add commented-out examples for how to use MEMSIZE and ETHADDR options
in the event that you need them (really old PMON versions).  Add FDESC.
Comment out SCSI-related stuff until I work out why the system goes into
outer orbit when its enabled.
2001-06-22 14:15:56 +00:00
thorpej
04986e1e9a Add FDESC. 2001-06-22 14:14:16 +00:00
thorpej
306b1b09bc Kernel config file for a P-6032. 2001-06-22 14:12:19 +00:00
thorpej
36a4b627d0 Sigh, Jason needs to go to sleep. 2001-06-22 07:00:25 +00:00
thorpej
32e780695d Add a couple of missing p6032 bits. 2001-06-22 06:50:21 +00:00
thorpej
0c37c9e860 Check in work-in-progress of P-6032 support. This is not tested,
but is meant for back-up purposes.
2001-06-22 06:02:54 +00:00
thorpej
7f047ac2b2 Use the other DMA window (with prefetch enabled) on the P-4032
on-board Ethernet.  Suggested by Nigel Stephens <nigel@algor.co.uk>.
2001-06-22 05:57:26 +00:00
thorpej
b440db94e8 Fill in one P-6032 snippet. 2001-06-22 04:33:26 +00:00
thorpej
e4ce5f4268 A P-6032 will never have a V3 PBC -- don't include its option header. 2001-06-22 03:45:24 +00:00
thorpej
b5443137f0 Only call through the function pointer if it's not NULL. 2001-06-22 01:42:20 +00:00
thorpej
1ce7119f17 More ISA interrupt rototilling. I get *some* interrupts on a:
we1 at isa0 port 0x300-0x31f iomem 0xcc000-0xcffff irq 10
we1: WD8013WC Ethernet (16-bit)
we1: Ethernet address 00:00:c0:94:f6:72

...but still nothing on the PCIC.
2001-06-21 19:00:18 +00:00
thorpej
e0901dc354 Fix whitespace botch. 2001-06-21 18:58:18 +00:00
thorpej
cc6c89106a Correct the ISA bridge irqmap. 2001-06-21 06:24:23 +00:00
thorpej
f341043437 Rototill ISA interrupt code. In particular, I have remembered most
of the horror that is the 8259 PIC.

PCMCIA interrupts still not working yet, but getting closer.
2001-06-21 05:20:54 +00:00
thorpej
e51a043945 Yet more interrupt cleanup -- the platform mater interrupt establish
function now just takes an "irq", which is an index into the irqmap
table for that platform.
2001-06-15 04:01:39 +00:00
thorpej
1d161cd563 Correct a comment. 2001-06-14 19:03:43 +00:00
thorpej
fe87c9aade When the old PCI address map is in use, disable I/O space. Also disable
I/O space on PBC revs < B2.
2001-06-14 18:52:26 +00:00
thorpej
0ddf0d259b Don't use BUS_END to compute SYS_END. 2001-06-14 18:48:23 +00:00
thorpej
80dfaa3e5a Read the PCI memory space base and the PCI DMA window base from the
V3 PBC, and use them in the bus mem tag and the bus dma tag on the
P-4032.  This allows us to get much further when PMON has configured
the PBC using the old-style PCI address map.
2001-06-14 17:57:26 +00:00
thorpej
4c73c770ce Add MEMSIZE and ETHADDR options, so that they can be set in
the kernel config file, in case you have a buggy PMON which
doesn't provide the environment variables to the kernel.
2001-06-14 16:14:37 +00:00
thorpej
defcaa8bcb Initlialize PMON after configuring the console, so we can see
debugging info.
2001-06-14 15:29:23 +00:00
thorpej
587d3ec2b4 Insert some debugging code, conditional on PMON_DEBUG. 2001-06-14 15:28:56 +00:00
thorpej
3bad583046 Oops, use the correct space tag when unmapping the RTC on the
P-4032 after calibrating the clock.
2001-06-14 05:58:19 +00:00
thorpej
7e59a1be7a No longer need MIPS3_5200 here. 2001-06-12 22:32:50 +00:00
thorpej
be7629b7e0 Hand off intr evcnt responsiblity in a reasonable way on the 5064. 2001-06-10 09:28:26 +00:00
thorpej
7c074dc806 Check in work-in-progress of generic ISA interrupt support. The
goal here is to get the P-5064 PCMCIA slots working, and serve as
the basis for P-6032 interrupt support.

PCMCIA interrupt auto-detection not working -- more work to be
done here.
2001-06-10 09:13:06 +00:00
thorpej
82418a77b0 Add PCMCIA devices. 2001-06-10 08:45:09 +00:00
thorpej
1930cfd7dc Correct for a data structure change. 2001-06-10 06:17:15 +00:00
thorpej
ce66bf0803 Rewrite the interrupt handling code:
- Compute the number of CPU pipeline cycles per second using the
  mc146818.
- Use the COMPARE interrupt for the hardclock interrupt.
- Collapse all interrupt priorities into a single priority, and use
  the CPU interrupt inputs to determine the interrupt source (local
  device, PCI device, ISA device, etc.)

This allows us to have interrupt sharing.
2001-06-10 05:26:58 +00:00
thorpej
0e82abb5de Add MIPS3_5200. 2001-06-10 05:02:33 +00:00
simonb
e5bd00e48d For ports that wire up pciide in compatibility mode, have
them define __HAVE_PCIIDE_MACHDEP_COMPAT_INTR_ESTABLISH
in pci_machdep.h and pciide_map_compat_intr() only calls
pciide_machdep_compat_intr_establish() if that preprocessor
define exists.

Ports that don't need to do this no longer need to supply a
dummy function.
2001-06-08 04:48:54 +00:00
thorpej
2b5df8b7ff vm_page_t -> struct vm_page * 2001-06-01 19:52:54 +00:00
thorpej
71cb790fb5 Add support for the Algorithmics P-4032 board. This is totally
untested, since I have no P-4032 board, but it's no worse than
the current situation, which is "totally non-working P-4032
support in the ARC port, of all places".
2001-06-01 16:00:03 +00:00
thorpej
23a3dc1508 If a bus doens't want to use an extent, don't force it to. 2001-06-01 15:57:31 +00:00
thorpej
356699e86b Fat-trimming. 2001-06-01 15:30:11 +00:00
thorpej
c702830c42 The P-4032 has no ISA bridge/bus, so remove all P-4032 conditionals. 2001-06-01 15:20:06 +00:00
thorpej
f4f6c1dd1c Enable SCSI. 2001-06-01 03:53:29 +00:00
nisimura
1f4f9ae5c2 Fix minor typos. 2001-05-31 07:24:23 +00:00
enami
299159546d s/Alpha/MIPS/ in comment. 2001-05-31 02:20:55 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
thorpej
f0c1fb1bb2 Initialize DDB at boot time and break into it if the "d" argument
is specified to the kernel.

XXX PMON doen't load symbols for us -- need a dbsym(1) for ELF.
2001-05-29 18:40:25 +00:00
thorpej
f2800b2299 Don't have conf.h (pasto). 2001-05-28 23:25:25 +00:00
thorpej
9d8dc820a8 Forgot bsd.kinc.mk 2001-05-28 22:34:25 +00:00
thorpej
af63f8979c D'oh, clear the soft interrupt bits in CAUSE *before* servicing
soft interrupts, rather than after, so that soft interrupts scheduled
by other soft interrupts don't get lost.
2001-05-28 18:19:27 +00:00
thorpej
16b9c60621 A port to the Algorithmics MIPS evaluation boards. We currently
support the P-5064, which has a QED RM5xxx CPU soldered on.

There is some skeletal support for the P-4032 (an older board, which
had an R4xxx CPU).  There are some placeholders for the P-6032, which
is their newest board, but no real code yet (the P-6032 has a different
PCI controller, the Algorithmics BONITO).

There are still some (apprently softintr-related) problems with the
algor kernel, but it works well-enough to self-host.

Kudos to Allegro Networks for loaning me a P-5064 board on which to do
the port.
2001-05-28 16:22:13 +00:00