Commit Graph

30614 Commits

Author SHA1 Message Date
kleink
4a513728e8 Add end-of-comment missing in previous. 2002-03-02 21:36:27 +00:00
mhitch
9de3e943c6 Make reset actually do something and enable the use of the watchdog timer.
Losing interrupts no longer will hang the network.
2002-03-02 21:08:04 +00:00
chris
a973797a7a Remove ref to VM_MAXKERN_ADDRESS, it's not used in this file 2002-03-02 15:35:05 +00:00
chris
4fa8495ff4 Update the types, pt_entry and pd_entry should be unsigned, and fixed at 32 bits. 2002-03-02 15:30:49 +00:00
kleink
a34187bca3 Also reset segment register 0 on kernel entry: there may not always be
a fixed BAT entry covering segment 0, or not completely covering it,
and we do restore it on return to user level already.
2002-03-02 15:19:56 +00:00
kleink
dc0a08feaa Note that Guarded bit is not implemented on the 601. 2002-03-02 15:07:35 +00:00
kleink
98eeb8198f Give block translations to I/O memory the Guarded attribute; from Matt Thomas. 2002-03-02 14:25:02 +00:00
mrg
ccc760f047 check _KERNEL_OPT for opt_ddb.h 2002-03-02 12:28:16 +00:00
scw
6cf459ffb5 Add BAT_G to the I/O bats, as per matt@netbsd.org's change for macppc. 2002-03-02 11:01:50 +00:00
matt
b7a4d57a9e Now all MBR_* definitions come from <sys/disklabel_mbr.h> 2002-03-02 07:05:30 +00:00
jmc
68b038f787 Wrap the generation of machine and powerpc links so they don't happen during
make obj, clean or cleandir as the proper objdir may not be around yet.
2002-03-02 06:32:28 +00:00
matt
4b948be2fc Disable BTIC on rev 2.0 or earlier MPC7450s as Motorola Errata #31 for the
MPC7450.
2002-03-02 02:18:38 +00:00
matt
102f6b0e48 Make sure I/O bats are set to BAT_I|BAT_G (guarded, cache-inhibited) as to
not allow speculative loads to occur within them.  This is the cause of the
random MCHKs on 7450 based Mac's.
2002-03-02 00:44:08 +00:00
ragge
16cd24dea4 usrptsize was not correct calculated, fixed.
Add space to system page table for the UVM kernel area.
This fixes the KVM usage problem that Manuel Bouyer reported a while ago.
2002-03-01 23:55:10 +00:00
thorpej
35abec3c31 Add -Os and -mcpu=i486 to COPTS. Add VNODE_OP_NOINLINE. 2002-03-01 23:42:20 +00:00
martin
f801cd463b Rename EBUS_PADDR_FROM_REG uses to EBUS_ADDR_FROM_REG. 2002-03-01 11:51:00 +00:00
martin
7d9d648a64 For aesthetical reasons use bus_addr_t instead of paddr_t in the BUS_ADDR
makro. Requested by uwe.
2002-03-01 11:34:36 +00:00
martin
feaf0ddd87 Cast the "io" parameter of BUS_ADDR to paddr_t before it gets shifted.
This makes this makro work with smaller values passed for io. No functional
change.
2002-03-01 07:19:29 +00:00
scw
fc673fcd59 Missed this file when adding mvmeppc port. 2002-02-28 21:54:42 +00:00
thorpej
1addb1955a Default to telling the MI PCI code that rd/line, rd/mult, and wr/inv
commands are OK.
2002-02-28 21:48:05 +00:00
leo
18dfb594ff These were created by accident (typo), hope this removal does what I
expect from the man-page...
2002-02-28 20:08:18 +00:00
uch
f21c737967 Catch up with the latest vrip changes. 2002-02-28 18:26:05 +00:00
uch
b94c8137ab cpu_reset:
Set EXPEVT to 0x20(manual reset) before jump to reset vector.
2002-02-28 18:18:51 +00:00
uch
bbcdfc2583 Use sh3/intcreg.h macro instead of immediate. 2002-02-28 18:17:29 +00:00
thorpej
f711992b7f Add options GATEWAY. 2002-02-28 17:54:56 +00:00
uch
9c21656766 cpu_dumpconf, reserve_dumppages, dumpsys, cpu_reset are moved to sh3/sh3_machdep.c 2002-02-28 16:54:28 +00:00
uch
f52cc0a5e4 Fix comment to reflect reality. 2002-02-28 16:52:46 +00:00
simonb
4324f37586 Use "#define<tab>". 2002-02-28 03:17:23 +00:00
uch
74680cb1cd change define _ -> PRINT 2002-02-28 01:59:51 +00:00
uch
6ece4e10f0 Remove #if 0 #endif 2002-02-28 01:58:53 +00:00
uch
2e904b2d1e s/MMEYE_NO_CACHE/CACHE_DISABLE/ 2002-02-28 01:58:18 +00:00
uch
bbc655c4fb Cleanup register definition 2002-02-28 01:56:57 +00:00
uch
40382c6556 Change foo_r0_r1 macro in sh3/locore.h to foo(Rn, Rm) 2002-02-28 01:53:42 +00:00
uch
06fbd079f5 Remove unneeded header. 2002-02-28 01:52:28 +00:00
scw
bd9412df1c Oops, replace this with a (very) slightly modified version of prep's
intr.h instead of a remnant of my original hacking where it was based
on sandpoint's.
2002-02-28 00:27:38 +00:00
scw
eb06a2e443 Nuke a file which should not have been commited. 2002-02-28 00:02:26 +00:00
scw
f179ae8cce Get in sync with include files. 2002-02-27 21:55:44 +00:00
scw
509f6019ae Add entry for mvmeppc. 2002-02-27 21:33:46 +00:00
scw
4c447e5383 New port: NetBSD/mvmeppc
Based mostly on NetBSD/prep at this time since the earlier mvme160x
boards are pretty much PReP compliant. Later boards in the range
diverge somewhat from the reference platform, hence the separate port.

Still needs *lots* of bashing into shape, but at this time it will
boot to multi-user over ethernet on an MVME1603-051.
2002-02-27 21:02:12 +00:00
leo
f70bec2792 Also visit the file2swp subdir. 2002-02-27 20:29:14 +00:00
leo
927df39940 copy a file to a 'SWP' partition 2002-02-27 20:14:39 +00:00
pk
f478419a29 Calling pmap_zero_page() (in #if DEBUG section) from pmap_bootstrap() hangs
an E250; comment it out.
2002-02-27 16:09:51 +00:00
simonb
06b7c00543 s/DEL_ZERO/DEV_ZERO/ 2002-02-27 06:51:57 +00:00
kleink
39a685458d Fix pastos & typoe. 2002-02-27 04:13:10 +00:00
matt
178af24f65 Add a comment to where we increment intr_depth to show that intstk+INTSTK
== intr_depth. (gag)
2002-02-27 03:27:14 +00:00
kleink
ebb0f83c31 Sort. 2002-02-27 02:21:22 +00:00
rafal
929d489997 In _bus_dmamap_sync, only invalidate as much data as there is in the current
segment rather than invalidating the total map length for each segment.
2002-02-27 01:51:48 +00:00
christos
e8116a8f5b - Use DEV_ constants, instead of documenting the numbers!
- Delete cdev_decl(mm); where appropriate, and other hand-crufting [hi powerpc!]
2002-02-27 01:20:51 +00:00
christos
6b030ee036 - define other DEV_ constants that the local port uses.
- delete cdev_decl(mm) since <sys/conf.h> does it.
2002-02-27 01:19:03 +00:00
jmcneill
f876e538ae Add options (commented out) for disabling power hooks on the pms and pmsi
PS/2 mouse drivers.
2002-02-27 00:31:12 +00:00
kleink
5424a781c8 Upon reflection, use hexadecimal values for previous, which make the
segment/block/battable relationship far more obvious.
2002-02-26 23:56:52 +00:00
kleink
4218adb6c2 Move battable entries for I/O to their correct pseudo-segment offsets;
while BAT spills currently don't happen, it should be possible for the
handlers to find them at the expected address anyway.

XXX Why the PCI I/O and Memory spaces are being installed in the iBAT
XXX registers is beyond me.
2002-02-26 23:45:54 +00:00
eeh
1eb3484425 Fix PR# port-sparc64/13811: PCITAG_SETNODE() is defined using x' insted of t'.
from URA Hiroshi
2002-02-26 22:39:14 +00:00
tv
b2ec8a78fc NEW_PIPE is no longer a configurable option (there's only PIPE_SOCKETPAIR,
inverted logic).
2002-02-26 21:44:29 +00:00
kleink
5e6a2be4e0 For the time being, add a wrapper around GENERIC causing the tlp driver
to match the on-board 21040, which the de driver has issues with.
2002-02-26 19:02:50 +00:00
kleink
9fcf8c7e63 Add platform support for the Motorola Ultra Plus and Ultra 60x boards.
Note that this currently matches only the boards built into Bull Estrella
systems, as Bull chose to change the board identification string whose
original content is not known at this time.
2002-02-26 16:09:14 +00:00
kleink
5eb5b37d22 Add the same probe fig leaf as in the mk48txx attachment to prevent
false positives.
2002-02-26 15:28:38 +00:00
simonb
d9ab16ba2f Purge CLSIZE, CLSIZELOG2 and MCLOFSET.
Be consistant in the way that MSIZE, MCLSHIFT, MCLBYTES and NMBCLUSTERS
  are defined.
Remove old VM constants from cesfic port.
Bump MSIZE to 256 on mipsco (the only one that wasn't already 256).
2002-02-26 15:13:19 +00:00
simonb
9f5c966439 We are not a DECstation. 2002-02-26 12:45:24 +00:00
kleink
f7a55f56d3 PIR is the same on 601. 2002-02-26 00:48:58 +00:00
kleink
326c1b225d Move the ext_intr() variant using the board interrupt vector register
into common code; it is not specific to the 6050, and in fact not even
specific to IBM-built hardware.
2002-02-26 00:30:10 +00:00
kleink
03cae416f5 Add an attachment for the MK48T18 RTC/NVRAM found on some Motorola boards. 2002-02-25 19:09:43 +00:00
ad
3f78ffdeca Argh, dont reference any wscons parts in files.dec yet. 2002-02-25 17:11:17 +00:00
kleink
bc2fec2880 Typo in comments. 2002-02-25 16:18:19 +00:00
ad
f89bb3064e Move the dz driver to dev/dec, since it can be shared with pmax. 2002-02-25 14:58:06 +00:00
kleink
d5fe2ac32f Declare the id argument to pci_conf_hook(9) as pcireg_t, which is more
appropriate.
2002-02-25 00:34:13 +00:00
kleink
6805e97fff Make the logic for wildcarding the I/O address actually achieve its purpose. 2002-02-25 00:04:49 +00:00
thorpej
c92241b420 Correct a comment. 2002-02-24 20:51:56 +00:00
leo
fa1cc12897 Move some disk I/O and disklabel functions into the library. The code
mostly originated from aptck. Need an extra pass over aptck to cut out all
functionality now moved to the library...
2002-02-24 20:51:07 +00:00
thorpej
4af7d26f26 Fix a couple of comments. 2002-02-24 20:44:28 +00:00
thorpej
0a4bc3ccd5 This file is obsolete. 2002-02-24 20:32:40 +00:00
thorpej
39c165f331 Add support for relocating gzboot's .text out of flash and into
RAM (while still decompressing the image directly from flash).

This makes gzboot run a LOT faster.
2002-02-24 20:29:44 +00:00
dbj
5f15cedc89 solve polled adb keyboard problems with dropped keys and unsynced caps lock
by queueing polled keys.
2002-02-24 20:20:20 +00:00
uch
31ae0ac1e9 clean up Makefiles 2002-02-24 20:10:53 +00:00
uch
6bda0e36c3 use sh_clock_get_pclock() instead of PCLOCK. 2002-02-24 19:35:42 +00:00
thorpej
d819468d64 Improve zlib error reporting. 2002-02-24 18:36:29 +00:00
uch
3c3da7bf57 _start -> start. 2002-02-24 18:24:15 +00:00
uch
693be1956c Move common exception vector and scheduler code to
sh3/sh3/exception_vector.S and sh3/sh3/locore_subr.S. exception
vectors are installed by sh_cpu_init().  machine/locore.S contains
kernel entry, interrupt handler, and some MD code.
2002-02-24 18:19:40 +00:00
uch
72589177e0 remove obsolete file. 2002-02-24 18:13:06 +00:00
is
3763cdd026 remove unused prototype (a duplicate with a typing error) 2002-02-24 15:20:05 +00:00
kleink
5410bbdb16 In order to support both indirect PCI configuration space access as well
as direct-mapped PCI configuration space access (such as implemented on
the IBM 27-82650 PCI Host Bridge), switch to a function vector based
PCI configuration space access implementation.  The appropriate PCI
chipset tag is provided by platform-specific code.
2002-02-24 13:19:06 +00:00
kleink
73cdf7f537 Get rid of cf_unit misuse. 2002-02-24 11:22:00 +00:00
kleink
5b6184e81b Upon reflection, really choose the right pseudo-segment for PCI memory space. 2002-02-24 10:58:41 +00:00
kleink
50838c01e1 Move battable entries for I/O to their correct pseudo-segment offsets;
while BAT spills currently don't happen, it should be possible for the
handlers to find them at the expected address anyway.
2002-02-24 10:56:54 +00:00
takemura
6df64c4e5e Make it compilable even if PCI wasn't configured. 2002-02-24 09:16:07 +00:00
thorpej
ca1294612c Remove some globals defined in libsa. 2002-02-24 01:51:04 +00:00
matt
28b1aa2b30 Move .s files to .S files. (and .s.o rules in boot/Makefile.inc)
Put in register prefixes everywhere.
2002-02-24 01:04:23 +00:00
ad
fab93c4a60 Reserve majors 101 and 102 for wsmux and wsfont. 2002-02-24 00:39:36 +00:00
matt
17a0652faf Change the default entry for ELF. 2002-02-24 00:17:42 +00:00
matt
6cad4b795d Upon further reflection, move udiv/urem to libkern and out of vax/vax. 2002-02-24 00:08:19 +00:00
matt
87806a826d Rename VAX kernel assembly source from .s to .S (the NetBSD standard) 2002-02-23 23:48:00 +00:00
gmcgarry
0166df69f5 Implement DIOCGDEFLABEL ioctl. 2002-02-23 21:55:25 +00:00
gmcgarry
49fd989e9b Unnecessary to cast splx() to void. 2002-02-23 21:54:31 +00:00
gmcgarry
562fb80d45 Make the keyboard attach printf a little less cryptic. 2002-02-23 21:53:25 +00:00
gmcgarry
5382848ec7 Recognise md as a valid root device. And since md disks don't get
device_register()'d, don't go looking on our device list for them.
Ramdisk kernel now boot.
2002-02-23 21:52:25 +00:00
gmcgarry
42abedb038 Trim down to 1.2MB ramdisk for booting on 4MB machines. 2002-02-23 21:48:08 +00:00
gmcgarry
19f1fd96ca Don't need printer support during installation. 2002-02-23 21:47:07 +00:00
gmcgarry
6a45dcbe5d Cleanup options for binary compatibility. HPUX and SUNOS are known to work. 2002-02-23 21:46:24 +00:00
gmcgarry
feb0773e27 Support two-stage netboot. Is known to work on maxine, but problems
have been reported on 3min.
2002-02-23 21:43:57 +00:00
thorpej
0780eaaa32 Use bcopy() and bzero(), since the rest of libsa does. This means
we don't have to pull in memset() and memcpy() from libsa.
2002-02-23 20:48:14 +00:00
leo
c3de71f0bf Fixup icu-code. It now works for both ISA and PCI. 2002-02-23 20:44:45 +00:00
thorpej
59f1dfe1c2 Don't need to provide zcalloc() and zcfree(); there are such routines
in libz.
2002-02-23 20:34:41 +00:00
thorpej
524d248b59 Fix the -DRELOC=... CPP flag. Add -DDYNAMIC_CRC_TABLE to shrink
the text (and, thus, the space taken up in flash) a bit.
2002-02-23 20:19:52 +00:00
briggs
caaef6d0d0 Implement obio_bs_rr_1. 2002-02-23 19:55:34 +00:00
thorpej
a91d5a1a99 Example Makefile and linker script for building a run-from-flash
gzboot image for the IQ80310 with room for 2M of compressed data.
2002-02-23 19:16:54 +00:00
thorpej
c39065eb62 Add support for running directly out of flash:
* Require that the builder Makefile provide a linker script.
* After making sure the MMU is disabled, check to see if
  _etext == __data_start.  If not, then copy the .data contents
  into RAM.
* Put the stack in .bss.
2002-02-23 18:19:09 +00:00
thorpej
87de164ab4 Fix a silly bug in the propellor spinning code. 2002-02-23 17:25:32 +00:00
scw
c4dbe1a160 Allow MD code to provide functions for reading/writing NVRAM/RTC
locations. If passed NULL, the old behaviour using bus_space_{read,write}_1()
is used. Otherwise, all access to the chip goes via the MD functions.

This is necessary for mvmeppc boards where the mk48txx NVRAM/RTC is not
directly addressable.
2002-02-23 17:18:54 +00:00
toshii
3676484136 Make KERNEL_VM_SIZE a little larger so that ubc_init doesn't fail from
ENOMEM.
2002-02-23 14:02:48 +00:00
toshii
5e0f2080c8 Remove a bogus pmap_map_entry call. 2002-02-23 13:58:10 +00:00
dbj
c467951c58 turn on polling using cnpollc 2002-02-23 10:51:50 +00:00
dbj
b97918f553 In adb_soft_intr, remove the packet from the queue before calling the
completion routine so that the completion routine can reentrantly
process the queue.  This happens, for example. when polling is turned
on by entering the debugger by keystroke.
2002-02-23 10:47:16 +00:00
thorpej
d114b32f24 Add some nops after we enable the MMU, for good measure (enough for
the nops to be the prefetch'd insns when the MMU switch occurs).
2002-02-23 05:58:46 +00:00
thorpej
f31f6affa9 Make sure the MMU is enabled after we switch to the new kernel
page tables (gzboot disables the MMU before it does its work).
2002-02-23 05:55:26 +00:00
thorpej
0fac1c42e9 gzboot -- boot a gzip'd kernel image. This is useful for booting
compressed kernel images from flash.

This needs more work, but is a good first-pass.
2002-02-23 05:41:14 +00:00
thorpej
1152fa21da Add some simple standalone device drivers for IOP310-based boards. 2002-02-23 05:12:01 +00:00
uch
43eee13717 fix comment. 2002-02-22 19:56:27 +00:00
uch
b1b1f1117b NetBSD/sh3 common part of clock routine. 2002-02-22 19:55:33 +00:00
uch
f3b1882035 print MMU infomation. 2002-02-22 19:46:34 +00:00
uch
45407e955f setjmp,longjmp are moved to sh3/locore_subr.S 2002-02-22 19:45:31 +00:00
uch
f694c9fdd7 New NetBSD/sh3 clock framework.
+ hardclock source is moved from TMU1 to TMU0.
 + SH3/SH4 common kernel support.
 + PCLOCK estimation.
 + remove duplicated code.
2002-02-22 19:43:58 +00:00
kleink
67678b7c54 Handle the 601's Run Mode/Trace Exception. 2002-02-22 18:50:45 +00:00
thorpej
9d157337f4 Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt. 2002-02-22 18:25:08 +00:00
thorpej
ac5d6ab89f Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt. 2002-02-22 17:26:36 +00:00
thorpej
37595cfcf8 Fix the "va" argument to pmap_map_entry() when mapping kernel_ptpt.
This happened to work in the IOP310 because the kernel runs VA==PA.
2002-02-22 17:23:13 +00:00
skrll
25133dd770 Pass the VA for kernel_ptpt as the VA to pmap_map_entry 2002-02-22 17:11:59 +00:00
simonb
e19a9be04b Note that "addu $x, $y, $0" is a "move" only in 32-bit mode.
XXX: need to revisit this.
2002-02-22 16:18:36 +00:00
ad
f5ba8920cf Note that INSECURE is needed for X with a px or pxg. 2002-02-22 16:17:23 +00:00
skrll
7590561ee1 Make sure the kernel_pt_table has the right physical to virtual address
mapping.
2002-02-22 15:57:38 +00:00
kleink
543f1e7a2d Handle the 601's Run Mode/Trace Exception as well. 2002-02-22 13:51:40 +00:00
briggs
c31c5df13c Bumb NMBCLUSTER defaults to 2048 for GATEWAY and 1024 otherwise. These
match current powerpc defaults and are more reasonable for the current era.
2002-02-22 06:41:48 +00:00
thorpej
5164bca298 Also generate flat binary kernels for the IQ80310. 2002-02-22 05:07:46 +00:00
thorpej
bb84e85802 Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer
to the L1 table and a virtual address, and no pointer to the L2 table.
The L2 table will be looked up by pmap_map_entry(), which will panic
if the there is no L2 table for the requested VA.

NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS
BE PROVIDED TO pmap_map_entry()!  Notably, the code that mapped
the kernel L2 tables into the kernel PT mapping L2 table were not
passing actual virtual addresses, but rather offsets into the range
mapped by the L2 table.  I have fixed up all of these call sites,
and tested the resulting kernel on both an IQ80310 and a Shark.
Other portmasters should examine their pmap_map_entry() calls if
their new kernels fail.
2002-02-22 04:49:19 +00:00
thorpej
77e3a89912 When reporting there is no VM map for a fault, also report the
faulting address.
2002-02-22 03:24:09 +00:00
thorpej
79738a99e9 Keep track of which kernel PTs are available during bootstrap,
and let pmap_map_chunk() lookup the correct one to use for the
current VA.  Eliminate the "l2table" argument to pmap_map_chunk().

Add a second L2 table for mapping kernel text/data/bss on the
IQ80310 (fixes booting kernels with ramdisks).
2002-02-21 21:58:00 +00:00
enami
60dccae121 Add RCS Id. 2002-02-21 08:23:31 +00:00
thorpej
6d35f61035 In pmap_map_chunk(), if we can't use a section mapping, then
make sure that the L1 slot for the current VA points to an L2
table, and panic if it doesn't.
2002-02-21 06:36:11 +00:00
thorpej
d96b0a83af Delete some unneeded comments. 2002-02-21 06:33:05 +00:00
thorpej
15e0450397 Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk()
to perform some error checking.
2002-02-21 05:25:23 +00:00
thorpej
454e106a48 map_chunk() -> pmap_map_chunk(), and move it to pmap.c 2002-02-21 02:52:19 +00:00
thorpej
5aa173cc6b Update for death of arm32. 2002-02-21 02:43:57 +00:00
eeh
93ead6c5e0 Fix pr sparc64/15633: datafault at tlp_start causes panic
Also clean up some additional 32-bit kernel printf issues.
2002-02-21 02:42:27 +00:00
skrll
e187e66235 Remove a whole load of non-CATS stuff. 2002-02-20 22:32:10 +00:00
skrll
f9d21f3995 Use shell arithmetic as much as possible and reduce the number of times
that awk is used to one.

No functional change.
2002-02-20 21:54:08 +00:00
skrll
2de2e35201 Fix typo in comment. 2002-02-20 20:47:40 +00:00
thorpej
425011f621 map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c 2002-02-20 20:41:15 +00:00
thorpej
75533175a2 Rename to NET4501. 2002-02-20 07:19:50 +00:00
thorpej
889d3fedd3 Sample kernel configuration for a Soekris Engineering net4501
single board computer.
2002-02-20 03:15:35 +00:00
thorpej
f777763ab3 * Rename the pxeboot binary from "pxeboot" to "pxeboot_ia32", since
there are other architectures (e.g. IA64) which also use PXE.
* Get the console right in pxeboot, from Andreas Gustafsson.
* Add a "com0" version of pxeboot, to address the same issue that
  biosboot_com0 addresses.
2002-02-20 03:00:27 +00:00
thorpej
c44b9117f0 Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that
takes a prot and a "cacheable" indicator.
2002-02-20 02:32:56 +00:00