Commit Graph

23622 Commits

Author SHA1 Message Date
wrstuden 17c0d4d853 Add some new partition types, and flags. Have the Apple Partition Map
code ignore the new partition types, and look for the new "USR" partition
flag.

From SUNAGAWA Keiki <kei_sun@ba2.so-net.ne.jp> with slight changes by me.

Closes PR port-macppc/10046
2000-08-18 22:40:28 +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
sato d5b133164a - disable warning: add missing argument. 2000-08-18 07:33:14 +00:00
bjh21 a81231398b Oops. Remember to close the comment! 2000-08-17 22:09:10 +00:00
wdk 702ec79b19 #include <mips/locore.h> no longer required since implementing bus_space(9)
remove unused extern variable that is never used in mipsco port
2000-08-17 21:26:34 +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
msaitoh 4a9013cf38 add code to mask mmucr register (SH4 only)
I'm sorry, I'd forgotten to commit it for a long time.
2000-08-17 13:13:28 +00:00
msaitoh a8fe4a6776 check INTEVT_SCIF (SH4 only)
I'm sorry, I'd forgotten to commit it for a long time.
2000-08-17 13:07:51 +00:00
wdk b9333bd4e7 Check for memory aliases when sizing physical memory. Remove 32MB memory
restriction.

Tested with 32 x 1MB SIMM's plus mix of 4MB and 1MB SIMM's to ensure the
aliases is detected in all memory configuratiions.
2000-08-17 05:05:01 +00:00
msaitoh 7369c6d979 add an INTEVT code for WDT 2000-08-17 00:01:53 +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
wdk 4cad781e16 Parse bootflags and attempt to find the root device from the boot command line 2000-08-16 21:54:43 +00:00
wdk bf69eb6def Trap and report memory parity errors 2000-08-16 21:00:39 +00:00
pk 1f76e23f2c Drop two `#ifdef SUN4U's, since `sparc{64}/include/instr.h' are now synced. 2000-08-16 11:36:36 +00:00
pk d48d0665e9 Sync with sparc64. 2000-08-16 11:30:38 +00:00
pk 814e226e9d Fix two printf formats: `%ld' -> `%d'. 2000-08-16 11:29:42 +00:00
mrg ac5a03b4eb find loadfile_machdep.h on sparc64. 2000-08-16 08:24:01 +00:00
mrg 286b5c3fbf backout previous; unintentional. 2000-08-16 08:21:52 +00:00
mrg ecd972e9cb include the sparc loadfile_machdep.h as-is; we can blow this header away
completely later.
2000-08-16 08:17:49 +00:00
mrg 3eeab3822d deal with 64 bit ELF 2000-08-16 08:16:58 +00:00
thorpej b0dc085df7 Move the TSS selector out of the PCB and put it into mdproc. We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

As part of this, call pmap_activate() from cpu_switch() to switch
to the new address space, and refresh the PCB's copy of the LDT
selector from the pmap structure (see above paragraph).  We need
to do this for MP support anyhow.

Fixes a "panic: spinlock_switchcheck: CPU 0 has 1 spin locks" via
gdt_compact() reported by Nathan Williams.
2000-08-16 04:44:35 +00:00
thorpej 5a7793edd9 Implement MP-safe lazy FP context switching, modeled on the
way Bill Sommerfeld implemented it for x86 (and bug fixes
fed back to Bill :-)
2000-08-15 22:16:17 +00:00
ross 37262919a9 Edit adv0 comment to include "SCSI"; now 'grep -v -i SCSI GENERIC' works. 2000-08-15 20:09:26 +00:00
fvdl 534b45c853 Move identifycpu to a place where it gets called earlier in the process,
so that special setup functions needed for some CPUs will be run before
some things (like UVM) are inited.

Add vm_page_zero_enable = FALSE to the cyrix 6x86 case, as page zeroing
while idle causes problems.
2000-08-15 18:21:44 +00:00
thorpej c7b8439ec4 - Make lazy I-sync a little safer -- always mark the pmap as needing
I-sync in pmap_remove_mapping() if the old mapping had PG_EXEC, and
  kick curcpu (IMB) or other CPUs (via an IPI) only if the pmap was
  the kernel pmap or active on other CPUs (curcpu is handled in userret()).
- Use lazy I-sync everywhere, (hopefully) eliminating the last of the
  I-sync issues for multiprocessor support.
- Eliminate some memory barriers added in a couple of previous revisions,
  after some discussion on port-alpha/tech-smp.

Still some lazy I-sync optimization possibilites:
- pmap_changebit() does not need to I-sync when only write-protecting
  a page.
- pmap_asn_alloc() may be able to cancel a pending lazy I-sync when a
  new ASN is allocated.  Need to double check against Green Book or
  Brown Book.
2000-08-15 05:21:20 +00:00
wdk 33016f23e0 * Tidy up interrupt handlers by implementing an intr_establish()
handler to hook up device interrupts and softc callbacks.

   Suggested by:  Jason Thorpe and Toru Nishimura

*  Fixup the indenting in a few places to conform to NetBSD style
2000-08-15 04:56:45 +00:00
wdk 374fb8efbc Decrement the block count to compensate for 64 bytes prefetched to fill
the DMA FIFO on non block aligned writes.   Not doing this causes large
writes (>4k) that are not aligned to incorrectly write 64bytes
of data every 4k interval.   This only occurs on raw devices - typically
newfs fails to create a clean filesystem.
2000-08-14 21:04:44 +00:00
thorpej f10ccf00b1 Remove an unnecessary MB in __cpu_simple_unlock(), per sections
5.3.3 and 5.3.4 of the Green Book, and a discussion w/ cgd@netbsd.org.
2000-08-14 20:28:28 +00:00
thorpej f80d70f19a Just add the mmap argument to vga_common_attach(), don't bother
with vga_extended_attach().
2000-08-14 20:14:50 +00:00
nonaka d07d2e70be Fix link problem. 2000-08-14 17:51:41 +00:00
thorpej b80f38bf8b Issue a memory barrier before clearing a lock, as per section 5.5.3
of the Green Book and a discussion on tech-smp and port-alpha.
2000-08-14 17:18:50 +00:00
ragge d9bb2fc1fa Clear result registers before using them.
Be more informative if unimplemented addressing modes.
2000-08-14 11:16:52 +00:00
kleink 378b9a84c3 At splsoftclock(), don't block softnet but softclock. 2000-08-14 10:09:06 +00:00
kleink 4fddd7dacc * Make spllower()ing functions not return the previous priority level,
as specified in spl(9).
* In due course, ipmlement splx() via spllower().
2000-08-14 09:55:41 +00:00
kleink 1790b00d25 Replace the body of lcsplx() with an open-coded version of spllower()
and return the previous priority level, which is actually expected by
cpu_switch() in order to it be stashed into the PCB.
2000-08-14 08:58:39 +00:00
thorpej 86ef3ea256 Clean this up a little bit, and issue a Specific EOI after
dispatching an EISA interrupt.
2000-08-14 05:38:23 +00:00
wdk 1e59559e3e intrcnt[] counters should be handled by the port specific interrupt handlers.
This change facilitates the migration from intrcnt[] to the new evcnt(9)
framework without breaking all of the mips based ports.
2000-08-14 04:36:34 +00:00
thorpej b022657405 Add support for EISA configuration space on the Jensen (it's
mapped differently than on other EISA sysetms).
2000-08-14 02:14:24 +00:00
christos cabafb6c60 cast to u_long before casting to u_int to appease lint. 2000-08-13 22:45:01 +00:00
thorpej 5d5752af8b More MP cleanup:
- pmap_zero_page() and pmap_copy_page(): if MULTIPROCESSOR, issue
  a memory barrier after we zero/copy the page, to ensure that
  other CPUs see the correct data.
- XXX Should we use MB, or is WMB good enough?

Also, bzero -> memset, bcopy -> memcpy.
2000-08-13 22:43:42 +00:00
thorpej cdc6dac7f1 More MP cleanup:
- Make sure to do an MB after a PTE is set to a new value, so that
  other processors see it.
- Use lazy I-sync in two pmap_page_protect() and in pmap_changebit(),
  so that it is MP-safe.  XXX Two more places where IMB is used in
  the raw, but they're not in the common path.

There'll be some more lazy I-sync cleanups soon.
2000-08-13 22:30:18 +00:00
augustss de0b1dd11d Go to splhigh() before calling power hooks and maintain this level
while suspended.  When waking up the power hooks are again called at
splhigh() and then the level is lowered.
This prevents interrupts from reaching a device before the power hook
has reinitialized it.
2000-08-13 22:26:27 +00:00
jdolecek 47b371580e make this usable as INSTALL-like kernel suitable for boot floppy
enable supported stuff, add also SCSI devices (only sd* and cd* uncommented)
2000-08-13 21:55:33 +00:00
soren 6f1de2d858 s/dev/obio/ 2000-08-13 19:25:13 +00:00
thorpej f49fa3615c Add some XXXSMP to places were imb is still used in the raw. 2000-08-13 18:41:15 +00:00
thorpej cd04e9fb14 Add MULTIPROCESSOR versions of PMAP_SYNC_ISTREAM_{KERNEL,USER}(). 2000-08-13 18:22:21 +00:00
thorpej 325f9ccafc Add alpha_multicast_ipi(). 2000-08-13 18:20:55 +00:00
scw b77bc217e1 Pull a bunch of common code from vme_pcc.c and vme_two.c into
the new mvmebus.[ch] files, and put down some initial code to
deal with VMEbus slave mode.
2000-08-13 17:00:51 +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
jdolecek 40dc315f3b #if 0 bogus mca_intr_establish() added possibly mistakely
by cgd in rev. 1.2
2000-08-13 10:38:38 +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
wdk 3f55a7b9aa Initial commit of port to MIPS Computer Systems RC3xxx systems.
Currently supports the RC3230
2000-08-12 22:57:55 +00:00
scw e09ab8e986 G/C an unused variable. 2000-08-12 20:09:12 +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
msaitoh 4c0e0bb61c - enable KERNFS and PROCFS
- disable NULLFS and UMAPFS
2000-08-12 06:59:01 +00:00
msaitoh 7803e30fde - remove "options PMAP_NEW"
- enable "options INET"
 - enable "pseudo-device loop"
2000-08-12 06:53:37 +00:00
thorpej 65c9982dfa Back out part of previous which was unintended. 2000-08-11 18:26:09 +00:00
msaitoh 7e0d8cf541 hide InitializeBSD if DONT_INIT_BSC is defined 2000-08-11 15:11:22 +00:00
msaitoh 18f2e17644 fix the first (temporary) kernel stack address
from	IOM_RAM_BEGIN + 0x003ff000
	to	IOM_RAM_BEGIN + IOM_RAM_SIZE - 0x00001000
2000-08-11 14:51:08 +00:00
thorpej e4eb846113 Add depca at eisa. 2000-08-11 03:05:19 +00:00
thorpej e931f846ff #if 0 out a debugging printf. 2000-08-11 01:02:39 +00:00
thorpej e207174eb0 Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.
XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
2000-08-11 00:43:18 +00:00
thorpej 30f7d691a0 Declare the ECU data in an MI location, so that drivers can
use it.
2000-08-10 23:30:08 +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
jeffs 95ac0dc817 In db_disasm() use fuword() to fetch user addresses. Mainly to avoid
bad EPCs from losing the initial ddb context when panicing, but also
helps with typos.
2000-08-10 22:31:26 +00:00
soda be6120309f add commented out PCIBIOS_INTR_GUESS 2000-08-10 21:33:17 +00:00
soda 834cceb3ae move PCIBIOS_INTR_FIXUP_FORCE, PCIBIOS_INTR_GUESS and PCIBIOS_IRQS_HINT
to opt_pcibios.h.
2000-08-10 21:21:02 +00:00
soda b63f6b5096 Add another option PCIBIOS_INTR_GUESS for no compatible ICU found case.
Under this option, if only one IRQ is available for the link,
we assumes that the IRQ is already connected, and configure
PCI Interrupt Configuration Register accordingly.
This is what Linux pcmcia-cs-3.1.19 does by default.

This fixes unconfigured pccbb interrupt problem of
Sharp Mebius MN-5500. It's interrupt router is ITExpress Inc. IT8330G.
(http://www.ite.com.tw/, vendor=0x1283, product=0x8330)
Problem reporeted by Kitagawa <sk@kiu.ac.jp> in
http://www.kaynet.or.jp/~kay/ml/netbsd-pcmcia/msg/msg00608.html
2000-08-10 21:18:27 +00:00
eeh 7c49c54392 Fix signal delivery. 2000-08-10 18:33:47 +00:00
mrg 7d27fced15 remove some ".sparc64" file suffixes that are not necessary. 2000-08-10 13:34:39 +00:00
mrg 3f0e682019 add sparc64 support. 2000-08-10 13:27:47 +00:00
mrg b8dfc193d0 merged with the sparc installboot 2000-08-10 12:18:14 +00:00
jeffs fc28236a58 Tweak printf format to compile with printf changes. 2000-08-10 08:27:54 +00:00
scw 0dc48bfa8f Add a `/t' modifier to the m68k ddb's `trace' command. This enables
one to perform a kernel traceback of any (non-swapped-out) process in
the system. For example, to show the traceback for PID 178:

  db> t/t 0t178
  trace: pid 178 at 0xabcd68
  _mi_switch(0x109f60) + 164
  ...
  db>
2000-08-10 08:02:35 +00:00
jeffs 6f9d8d6cd3 Tweak to compile with printf format changes. 2000-08-10 08:01:24 +00:00
jeffs 22bda73efd To be safe when called from interupt, [fs]uswintr need to preserve
cpu_onfault.  By Etan Solomita (ethan@geocast.com).
2000-08-09 23:03:24 +00:00
jeffs 0b5e00636a Fix a bug in how .S routines call _mcount to allocate stack before
use.  By Ethan Solomita (ethan@geocast.com).
2000-08-09 22:52:36 +00:00
msaitoh 90f4e30815 2nd argument of SYS___syscall(code, ...) is quad alignmented.
On little endian mode, 1st argument is not r5 but r4.
2000-08-09 22:11:17 +00:00
tv 8df356a34f %r, %n -> db_format_radix() 2000-08-09 20:09:25 +00:00
tv 5165243e6c %lz -> db_format_hex() 2000-08-09 20:00:30 +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
tv 29550fc608 kprintf -> printf format attribute 2000-08-09 16:34:25 +00:00
tv ccb5bdbdd9 %b -> bitmask_snprintf() 2000-08-09 03:02:52 +00:00
tv 650553215e %b -> bitmask_snprintf() 2000-08-09 02:26:26 +00:00
shin bf38a18dfc Define bus_space_*_stream_N functions as their non-stream counterparts. 2000-08-09 02:12:50 +00:00
tshiozak 51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
soda d5046f18c7 note "vm_page_zero_enable = FALSE" 2000-08-08 21:17:15 +00:00