Commit Graph

91 Commits

Author SHA1 Message Date
bjh21
7c9498f7cb Move setsoftast() and friends into cpu.h and make them into macros, so arm26
is the same as every other port (except arm32).
2000-08-25 16:43:46 +00:00
bjh21
36f4367186 <machine/spl.h> -> <machine/intr.h> (missed this one last time) 2000-08-25 10:37:58 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
bjh21
acb0541a4b Use symbolic names for interrupt lines. 2000-08-23 17:28:51 +00:00
bjh21
769e82477f Move contents of <machine/spl.h> to <machine/intr.h>.
Add IST_* macros to <machine/intr.h>, mostly for the feature-list tickbox.
Generally tidy up.
2000-08-22 21:27:21 +00:00
bjh21
6e3e3a755d Don't include <machine/spl.h> any more.
Include <machine/intr.h> everywhere than uses spl(9) functions.
2000-08-22 21:22:48 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
bjh21
a776e1268d General cleanup of definitions of translation table stuff.
Also add PPN[8] for the A540.  Now all I need are two more RAM cards for my
A540 so I can test it.
2000-08-21 14:37:51 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
bjh21
567f2768d1 Implement the easy ptrace requests and turn off the difficult ones. 2000-08-20 15:16:49 +00:00
bjh21
ba6517aa9c Adjust register spacing to take A0 into account. This should make supporting
8-bit uses of the 8005 (such as, I suspect, 8-bit Ether3 cards) easier.
2000-08-20 13:43:23 +00:00
bjh21
ef49e5cd42 Exclude cpu_Debugger if DDB is not defined. 2000-08-20 13:41:44 +00:00
bjh21
cc396125ae Add support for clearing IRQ 0, which is latched by the IOEB (on IOEB systems). 2000-08-18 12:50:00 +00:00
bjh21
a81231398b Oops. Remember to close the comment! 2000-08-17 22:09:10 +00:00
bjh21
6bc85d382a Add cdevsw entries for bpf, tun, com, lpt. 2000-08-17 16:31:52 +00:00
bjh21
7fd0191223 Hard-wire the unit number of the on-board wdc so podules don't confuse it.
Add commented-out wd, atapibus etc in GENERIC and FOURMEG.  Not yet tested.
2000-08-17 13:38:51 +00:00
bjh21
999646a30b Add some extra levels for MI drivers. 2000-08-16 23:58:29 +00:00
bjh21
d7eebd9227 Basic driver for CHIPS 82C710 Universal Peripheral Controller and friends,
as used on later arm26 system (A5000, A4, A3010, A3020, A4000).

What we have got:
...
upc0 at iobus0 base 0x010000: config state bb 87 1c 00 00
fdc at upc0 offset 0x3f4 not configured
wdc0 at upc0 offset 0x1f0
lpt0 at upc0 offset 0x278
com0 at upc0 offset 0x3f8: ns8250 or ns16450, no fifo
...

What we haven't got:
 - FDC support (found, but not configured).
 - Clearing lpt interrupts on arm26 systems (needs help from IOEB).
 - A upc(4) manual page.
 - More than minimal testing (my A3020s don't have root devices).
 - A proper probe routine (arm26 can't use one anyway).
2000-08-16 23:56:08 +00:00
bjh21
9d7a3f8ed7 Shuffle debugging code around to make debugging copy{in,out,}str easier. 2000-08-13 12:32:48 +00:00
bjh21
4014c03b26 Replace copyinstr, copyoutstr and copystr with slightly more sensible
assembler versions.
2000-08-13 12:31:26 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
bjh21
5317f1db63 General cleanup and factoring out of common code in ea_readbuf and ea_writebuf. 2000-08-12 18:18:52 +00:00
bjh21
7d96bc05ba Make various types unsigned, for ease of comparison.
Use bus_space_read_multi_2 and bus_space_write_multi_2 to copy packets to/from
board.
2000-08-12 17:03:44 +00:00
bjh21
f096772215 Two changes for endianness-independence (when we finally split of the SEEQ 8005
driver and make it MI):

Set the ByteSwap bit on big-endian hosts, so we can use 16-bit transfers to get
at packets whatever.

Treat Tx/Rx headers as arrays of four bytes rather than as 32-bit words.
2000-08-12 15:29:35 +00:00
bjh21
7d83a5201a bus_space version of if_ea.c -- should have been committed before.
Transmit and receive buffer sizes aren't an intrinsic property of the card,
so they belong in if_ea.c rather than if_eareg.h.

Correct some comments in if_ea.c
2000-08-12 14:06:29 +00:00
bjh21
4493200775 Use bus_space stuff. No more ReadShort and WriteShort.
Also a few minor cleanups.
2000-08-12 13:35:08 +00:00
bjh21
7ba12358d7 return isn't a function call 2000-08-12 12:20:17 +00:00
bjh21
b108872b97 Remove spurious reset of card in probe routine -- it can almost certainly
safely be left till attach time.
2000-08-12 12:15:59 +00:00
bjh21
ef01128d16 Avoid gratuitously copying data on transmission as well, and hence do away
with the 2k packet buffer in the softc.
2000-08-12 11:56:46 +00:00
bjh21
e801d41011 Remove void casts from splx(). It returns void anyway. 2000-08-10 23:06:38 +00:00
bjh21
c636092423 Use ETHER_IS_MULTICAST where relevant. 2000-08-10 23:03:04 +00:00
bjh21
24ab4fb4f8 Check the podule has a description before using it. 2000-08-10 22:57:01 +00:00
bjh21
2fb8a3feb8 Clean up packet reception. Notably, copy data straight from the card to
mbuf(s) without using the packet buffer in the softc.  Also, clean up error
messages.
2000-08-10 22:43:45 +00:00
tshiozak
dec20dab0e set MB_LEN_MAX to 32. I forgot the modification for arm26 yesterday. 2000-08-09 16:43:59 +00:00
bjh21
b642a6e612 ANSIfication and general cleaning. 2000-08-08 21:16:59 +00:00
bjh21
e74a0fd322 Major formatting cleanups. If I'm going to work on this driver, I want to be
able to read it.
2000-08-07 22:21:44 +00:00
bjh21
77a537a1ba Use M_SOFTINTR for soft interrupt sructures 2000-07-30 16:39:18 +00:00
bjh21
4d52022987 Comment tidying 2000-07-28 09:54:56 +00:00
bjh21
61edac627c Convert the arm26 rtc driver to use pk's new todr(9) interface internally.
Nothing outside the driver will notice until we get proper MI I^2C.
2000-07-27 23:51:43 +00:00
mason
4a353b5330 Moving to a default of 64 PTYs. 2000-07-27 17:53:35 +00:00
bjh21
f6ce16a43b Fix up alignment of incoming payloads. BOOTP at least now works. 2000-07-22 21:30:54 +00:00
bjh21
9c47f8b134 Read the ECID from each podule just before we launch the kernel. This means
that the ROM page registers on the podules are likely to end up pointing at
the page with the ECID in it, so NetBSD can recognise the podules.

This is necessary for my i-cubed EtherLan cards, at least.
2000-07-22 15:36:15 +00:00
bjh21
da2949153f Disable dtide since it doesn't work (and probably never will -- the card's
brain-dead).
2000-07-20 20:27:11 +00:00
bjh21
6744ec9f53 Include locore.S in the main assembly mkdep. 2000-07-20 20:26:32 +00:00
bjh21
b5d3226a07 General tidying up, notably:
- Get the Ethernet address from the card's description string, rather than
   relying on RISC OS to set it.
 - Don't mention this is a SEEQ8005 -- that's all an "ea" can be.
 - Use format_bytes to display the amount of buffer RAM.
2000-07-20 20:25:10 +00:00
bjh21
f079e15d48 - Remove asc driver, since it doesn't work
- Reduce maxusers to 2
2000-07-19 19:41:48 +00:00
bjh21
8c2ce5b135 New configuration, based on GENERIC, but small enough to fit on a system
with 4Mb of RAM (I hope).
2000-07-19 16:39:30 +00:00
bjh21
d9151a2dc8 Add a uuencoded tokenised BASIC version of BBBB, since it can't yet be
generated without RISC OS.
2000-07-16 12:54:04 +00:00
bjh21
87dbab4963 Warn about <8bpp screen modes.
Fix a typo in "page in use" message.
2000-07-16 12:46:50 +00:00