Commit Graph

24224 Commits

Author SHA1 Message Date
onoe 1383251d9a Bus I/O and DMA access macros/routines. 2000-10-12 03:07:59 +00:00
onoe 0ff12521fa Add address for free running 1MHz 1counter.
Add registers for APbus I/F gatearray.
2000-10-12 03:07:02 +00:00
mhitch 28c4cc2851 Use uncached memory so this has a chance of working on R4x00 DECstations.
My 5000/260 hung hard when a PMAG-D board was probed during boot.
2000-10-11 17:55:56 +00:00
jeffs bdbb241be6 Fix race between pmap_enter() and pagedaemon. If we are low on memory and
pmap_enter() cannot allocate the segmap return failure if PMAP_CANFAIL
instead of sleeping.  Otherwise panic.  Both alpha and i386 do this.  Do
not pmap_enter_pv() until after this is done so the data structures are
not partially allocated.  This should prevent pmap_page_protect() from
getting stuck when called from pagedaemon.
2000-10-10 20:39:42 +00:00
he 489b832f9b Add randomness sampling from hil, sd and rd devices. 2000-10-10 19:58:42 +00:00
ad e126f09103 Switch to sys/dev/md_root.c. 2000-10-10 10:25:55 +00:00
dbj 15034fe38a add rnd_source field to mb8796_softc
this fixes compile problems with rnd pseudo-device added to GENERIC kernel
patch submitted by greg oster
2000-10-09 10:45:45 +00:00
nisimura 778081cbf4 Add mtc0 insn to load TX3900 config register value to determine Dcache size. 2000-10-09 10:14:23 +00:00
nisimura 89e5c346a4 mips1_ConfigCache() has gone. 2000-10-09 07:33:31 +00:00
leo c36cc80ceb Fix a typo that slipped in with the last round of scheduler changes. The
register numbers were exchanged.
2000-10-09 06:15:02 +00:00
thorpej 3290ef5fe8 Re-order the TLB operations in pmap_zero_page() and
pmap_zero_page_uncached().  This seems to prevent the
lossage with those functions people have seen on Cyrix
CPUs.
2000-10-08 22:59:38 +00:00
thorpej 87a787f7b4 Make sure we use kvtopte() only on kernel addresses. Should
fix a panic that occurs when using KGDB repored by Nathan Williams.
2000-10-06 18:37:39 +00:00
tsutsui fbc8920b4b variable clock_attached is not needed. 2000-10-05 21:20:48 +00:00
tsutsui bc0aec12fa Make leds_intr() __inline. 2000-10-05 19:04:59 +00:00
tsutsui 50570826e7 Remove garbage in comment. 2000-10-05 18:22:41 +00:00
tsutsui 911552b39a pasto (s/mips/m68k/) 2000-10-05 18:21:10 +00:00
ragge de4982c7fa Fix bug that prevented DMA to work on SCSI chain B. This fixes PR#11124
but in a different way than suggested by the submitter.
2000-10-05 07:34:49 +00:00
cgd 59706f1322 clean up and consistency for CP0 Count, Compare, Wired, and Config
access function names and prototypes.
2000-10-05 02:36:44 +00:00
cgd b1b364243d always have to declare cpu_arch and the related constants (since setting
it isn't conditionalized).  (d'oh!)
2000-10-05 02:13:14 +00:00
cgd 7fefa594f7 add two blank lines 2000-10-05 01:17:20 +00:00
cgd 36123017cb nuke mips3_clearBEV(). There's really no point in coding a
special-purpose assembly routine for things like this.
2000-10-05 01:06:06 +00:00
cgd 3f1d3c3066 tweak cpu_arch. Eliminate all direct checks of it (making them
use the macro CPUISMIPS3 -- which is badly misnamed), and set it
from #defines named CPU_ARCH_N (where N is 1..5, 32, 64).
2000-10-05 00:52:59 +00:00
jdolecek 2fa1ccfa6e bootpath_build(): implement slighly more clever algorith to find boot
flags in the bootpath: only treat the rest as boot flags if the '-'
follows whitespace (space or tab)

This should fix the "boot disk4 netbsd-20001004-RFHS8036" lossage
Hubert Feyer pointed out in private e-mail.

Tested by: jdolecek (userland version)
Reviewed by: eeh
2000-10-04 23:05:08 +00:00
cgd e9e1084ea3 rename mips_read_causereg -> mips_cp0_cause_read. nuke prototype
for mips_read_statusreg (which was apparently never implemented).
Provide prototypes and implementations for mips_cp0_cause_write,
mips_cp0_status_read, and mips_cp0_status_write.  (Writing can, of
course, be quite dangerous.)
2000-10-04 22:44:01 +00:00
itojun 0c84fad435 more rnd(4). 2000-10-04 22:26:49 +00:00
eeh 6638fc7c06 Fix interrupt lossage problem and some cosmetic changes. 2000-10-04 22:18:25 +00:00
cgd 8b8afc8d07 the generic MIPS code doesn't even play at doing anything useful
with a MIPS4 option at this point -- all the code except for one single
spot is conditionalized with MIPS3.  So, don't even pretend about
MIPS4 for now, until it all gets cleaned up.
2000-10-04 21:41:47 +00:00
cgd 13eb329ef1 provide indicators of a few more things that might go in opt_cputype.h 2000-10-04 21:31:06 +00:00
is b0ee22422c Regenerate from INSTALL. 2000-10-04 20:44:53 +00:00
is 6458912fb4 regenerate: INSTALL changes as implemented in GENERIC and Makefile. 2000-10-04 20:40:06 +00:00
is 986619df97 Reimplement the INSTALL changes in GENERIC and Makefile. 2000-10-04 20:38:11 +00:00
is 1c9bb33fcb resync, mostly for the rnd addition. 2000-10-04 20:13:42 +00:00
itojun 779fc41d88 enable rnd(4) 2000-10-04 18:14:35 +00:00
tsutsui 39787038e9 Switch to MI mk48txx driver.
XXX All config files should be updated since now clock address does not
XXX contain clock register offset in NVRAM.
2000-10-04 16:35:43 +00:00
tsutsui 3f1232147d Initial bus_space(9) support for news68k. From hp300. 2000-10-04 16:26:43 +00:00
uch 478ab76ca3 experimental power management support for TX3912/TX3922 based model. 2000-10-04 13:53:54 +00:00
nisimura 8d263719b9 Merge exception return path of SystemCall and UserGenException into
proc_trampoline.
2000-10-04 08:46:21 +00:00
tsubai 9fa9ef4716 Add rnd. 2000-10-04 08:26:42 +00:00
itojun 9e47af8814 enable rnd device. they are now mandatory for ssh/sshd support,
so it makes more sense to enable it.
please disable them if there's any issues, but in that case, in-tree
ssh/sshd won't work.
2000-10-04 03:35:53 +00:00
sato 832204750a fix mistake of sigmarion cmdmap. 2000-10-04 03:31:14 +00:00
nisimura a46cefdf5b Redo the previous change to save MIPS1 only configuration. It's
uncertain whether a multiple page flush with a single HitFlush()
call is safe.
2000-10-04 02:02:05 +00:00
cgd 11e8e89dd4 add some additional info re: MIPS32 PRID encoding, derived from
the ``MIPS32 4K Processor Core Family Software User's Manual
Revision 01.07 June 19, 2000", available on the web from:
http://www.mips.com/declassified/Declassified_2000/MD00016-2B-4K-SUM-01.07.pdf
2000-10-03 23:15:58 +00:00
tsutsui 2f6ed1a331 Reorganize news68k clock device configuration and
prepare to switch to MI mk48txx driver.

XXX news68k does not have bus_space(9) support yet.
2000-10-03 13:49:24 +00:00
wdk 6b207c8f05 Add netbsd.ecoff to list of files to cleanup. Forgot in previous commit. 2000-10-03 10:09:12 +00:00
wdk ff5d9dc3a7 Change default kernel format from ECOFF to ELF now we can boot ELF using
libsa based bootstraps.   This is now the prefered format.

ECOFF format kernel renamed to netbsd.ecoff - still required for network
booting.
2000-10-03 09:46:39 +00:00
wdk e705396abb Switch to MI md_root.c 2000-10-03 09:38:20 +00:00
sato af1dcf13da flash led when intrrupt. 2000-10-03 03:16:16 +00:00
sato c419b94c00 vr41xx LED unit driver. 2000-10-03 03:13:04 +00:00
sato ca7374c959 add POWERCONTROL_LED.
add PMEVENT_AC, PMEVENT_BATTERY.
2000-10-03 03:08:33 +00:00
nisimura fc21cc81e1 - Hide MachHitFlushDCache() symbol by enclosing #ifdef MIPS3 to make
compilable with MIPS1 only configuration.
- MIPS3 virtually addressed cache op can do its work in a single call for
range of address space.
2000-10-02 22:56:51 +00:00
cgd 8dbc5c0c51 provide mips3_ld() and mips3_sd(), functions which provide safe wrappers
for mips3 (and later) 'ld' and 'sd' instructions.  These currently
only are properly implemented for the _MIPS_BSD_API_LP32 and
_MIPS_BSD_API_LP32_64CLEAN 'API's.  They're pretty messy, but when you
need them, you really need them.
2000-10-02 22:13:38 +00:00
abs 2824f4906d Ensure all INSTALL* kernels have two ptys, and a note explaining why:
pseudo-device  pty             2       # pseudo-terminals (Sysinst needs two)
(Some installers may not be using sysinst, in which case this just reduces
the number of ptys from 16 that are not used to 2 that are not used)
For i386 conf files, no change other than comments.
2000-10-02 18:43:34 +00:00
tsutsui c29947d800 Switch to MI md_root.c. 2000-10-02 15:24:09 +00:00
fvdl 654c1d3603 Adjust after some comments from Noriyuki Soda:
apm was enabled in the wrong file, it's not needed in INSTALL_LAPTOP,
but should be there in GENERIC_LAPTOP.

wss0 at isa irq 10 may cause conflicts on some laptops; remove it.

Despite its name, PCIBIOS_INTR_GUESS is safe option, so enable it.
2000-10-02 12:54:39 +00:00
fvdl 32a995f65b Oops, remove test leftover setting of REALEXTMEM. 2000-10-02 12:22:53 +00:00
fvdl 09440c52d2 Squeeze some more. Do what it has been advertising all along: no SCSI. Use
-Os. Remove NFSSERVER.
2000-10-02 08:12:04 +00:00
wdk 2bc18c0ead Add parenthesis to TICKS_TO_USECS macro avoiding side-effects.
Fixes glitch where microtime goes backward.   KNF rules!
2000-10-02 07:58:26 +00:00
wdk d7ff540d90 Boot to multiuser by default. 2000-10-02 07:57:29 +00:00
wdk 68e8ad5120 Fixup missing entries in chrtoblktbl 2000-10-02 07:56:31 +00:00
wdk 77c68f1f9c downsized kernels for installation & recovery 2000-10-02 07:54:34 +00:00
sato ee8000c4ad check NBIVIDEO. 2000-10-02 04:15:51 +00:00
sato 3c83f44fa3 experimental ite8181 video driver for hpcfb.
- just copy from bivideo.
- erase WindowsCE hardware cursor initialy.
- LCD power management codes exist, but currently disabled.
  Because some devices(include ite8181) confuse after LCD power turn on.
  WorkPad z50 power unit seem to be very weak
2000-10-02 04:14:59 +00:00
sato 59de160368 - DPRINTF -> VPRINTF for verbose.
- don't attach other video driver under hpcfb.
2000-10-02 04:03:06 +00:00
sato 938b01e688 experimental ite8181 video driver for hpcfb.
- just copy from bivideo.
- erase WindowsCE hardware cursor initialy.
- LCD power management codes exist, but currently disabled.
  Because some devices(include ite8181) confuse after LCD power turn on.
  WorkPad z50 power unit seem to be very weak,
2000-10-02 03:57:53 +00:00
sato a50307118c add sigmarion cmdmap and use it. 2000-10-02 03:45:10 +00:00
thorpej 7ca3fb9ef0 Move the check for "promisc + unicast + not for us" into ether_input(),
and change Ethernet drivers to always pass all received frames to
ether_input() (with a few exceptions, which are documented in the
code).
2000-10-01 23:32:39 +00:00
pk d26132e2be cpu_initialize: global registers aren't preserved across calls to
prom_printf(), so replace %g3 with %l7 (which isn't used despite
the `usage' comment).

Also, clean up white-space turds.
2000-10-01 19:13:16 +00:00
tsubai 442b9b5df2 Get the correct OF node of the screen because PowerBooks have two screens
in one PCI device.
2000-10-01 19:08:30 +00:00
uch f88fbde7ac don't reset RTC in tx39clock_set() 2000-10-01 18:12:04 +00:00
fvdl f47a0f34f9 Squeeze even more by removing some COMPAT_1X options, com* (serial
ports aren't supported for installation), MFS, slip and ppp. There
was no room for pppd and slattach on the "tiny" floppies anyway, so
there was nothing to use them.

Add pcic at isa, pcmcia, wdc at pcmcia, and 'wireful' cards @ pcmcia
(ne, ep, mbe, sm). Installing is now possible on a 4M laptop over
ethernet (tested with ep at pcmcia, and 640+3200 available memory).
2000-10-01 16:20:01 +00:00
scottr 2c7ec6839c In ems_init(): make sure there's valid data in the buffer after sending
a TALK command to a device.  Noticed by Ken'ichi Ishizaka.
2000-10-01 05:10:57 +00:00
takemura ccac45b532 Modify keymaps of MC-R and MC-CS series to add backlight control keycommand.
Modify keymap of btnmgr to add backlight control keycommand.
Add backlight control function to bivideo.
2000-10-01 03:45:33 +00:00
leo d7e0d02e8b Add include of <machine/asm.h>. C_LABEL is defined there. 2000-09-30 20:40:34 +00:00
leo ec2e9cd4c8 Add PCB_REGS_* defines. This makes ddb compile again. 2000-09-30 20:36:40 +00:00
fvdl 890dedaed3 Set the # of ptys to 2. 2000-09-30 13:25:12 +00:00
eeh 8e5075103f This seems to fix the interrupt lossage of non-debug kernels. 2000-09-29 17:02:38 +00:00
tsutsui cdb3d9df80 Add sip* at pci. 2000-09-29 14:45:59 +00:00
fvdl 2e6f523813 Bump CPU_MAXFAMILY to 7. 2000-09-29 14:17:17 +00:00
fvdl 3cb9873a8d Recognize Pentium 4. Treat everything with model > 6 as model 7 for now,
in the hope that Intel doesn't start number backwards now that they
picked 15 for the P4.
2000-09-29 14:16:23 +00:00
fvdl 243ae4806b oops, typo in previous (|| -> &&) 2000-09-29 13:15:48 +00:00
fvdl 33234ff066 Don't print anything when the serial number is not supported. There are
a lot of other features that may not be supported either, no need to
print them.
2000-09-29 13:05:12 +00:00
wdk caccbc2e21 Add kernel support for memory disks 2000-09-29 12:43:14 +00:00
tsubai e256cfb9ec Fix a bug that prevents the kernel from detecting the root device. 2000-09-29 10:14:20 +00:00
explorer 62da00b60c clean up printing when serial number not supported or disabled. 2000-09-29 09:07:53 +00:00
explorer be5f26e138 print CPU serial number at boot time. After all, we have a million other flags printed, what's one more interesting one. 2000-09-29 09:03:18 +00:00
msaitoh 3c5d2c7fac avoid SH7709A's serious bug (it fails to read IPR* registers under particular
circumstances)
2000-09-29 08:08:37 +00:00
deberg 623e319553 add support for 12-bit color displays, from Timm Wetzel w/ changes by
me.  closes 10741.
2000-09-29 06:35:57 +00:00
deberg a295f43fb1 merge lines 2000-09-29 06:33:37 +00:00
deberg b01c657c80 add RCONS_BPP16 for color display
also lose esp0 since i have no disc in this machine, and build symbols.
2000-09-29 06:33:17 +00:00
deberg 44c2ad4763 add RCONS_BPP16 for color display 2000-09-29 06:32:38 +00:00
eeh 15eaba378c Only call pcons_dopoll() if there's a pcons device. 2000-09-29 00:27:13 +00:00
eeh 5c98160d2b Separate user and kernel address spaces and move the kernel down to
0x0000000001000000 -- 0x00000000f0000000, below the PROM where the
PROM thinks we should be.
2000-09-28 19:56:13 +00:00
eeh d21456569e Fix INTR_SETUP() to properly distinguish kernel and user addresses.
Make microtime() return the correct time on %tick machines.

Re-enable debug stuff in dostart for now to detect kernel mapping issues.
2000-09-28 19:27:49 +00:00
eeh 1090c8a9cf probeget() actually handles 64-bit values so fix the prototype. 2000-09-28 19:16:35 +00:00
eeh 0ca74ba0d8 Fix the `trap type 0x10' problem. Apparently, something has changed and
now makes use of lockmgr().  Since we broke into the debugger from an interrupt,
we don't have a curproc, so when lockmgr() tries to find our PID it barfs,
causing another break into DDB which then calls the mysterious code that
calls lockmgr() again.....

So set doing_shutdown while we're in DDB so lockmgr ignores locks.
2000-09-28 18:54:39 +00:00
thorpej 59ef356b35 Reintroduce the ACPI memory map code. The bug that caused the
IDT to be scribbled over on some systems was found and fixed by
T.SHIOZAKI <tshiozak@netbsd.org>.
2000-09-28 18:31:36 +00:00
uch 154f1e86b1 fix tx39clock_alarm_refill bug. 2000-09-28 16:18:26 +00:00
eeh 6776b270ae Remove unneeded cache flushes. 2000-09-28 15:47:27 +00:00
eeh a6205d98a9 Poll pcons for input on softints in case someone want to break into the debugger. 2000-09-28 15:38:49 +00:00
eeh abeb734bb9 Cannot distinguish kernel and user addresses any more. 2000-09-28 15:34:38 +00:00
eeh 5b577f0c8f Add a command that locates the page structure corresponding to a pa. 2000-09-28 15:32:36 +00:00
eeh 3a2599ebec Don't take ref/mod faults on DMA segments mapped in to the kernel. 2000-09-28 15:28:43 +00:00
eeh a5a8082482 Use prom_printf() for debugging instead of printf() since the console may
not be functional.
2000-09-28 15:23:06 +00:00
eeh 25ce73d7b3 Fix bad path specifier for finding fpu sources. 2000-09-28 15:19:56 +00:00
is 126ba78048 We do wired page accounting. Tell UVM about this. 2000-09-28 14:03:38 +00:00
is f41561e9de We do wired page accounting. Tell UVM about it. 2000-09-28 13:09:10 +00:00
abs 5aa0a5abb1 Prior art in naming would suggest INSTALL_SYSINST rather than INSTALL-SYSINST. 2000-09-28 12:46:43 +00:00
is 2c86369fc4 The Atari pmap does wired page accounting; advertize it to UVM. 2000-09-28 09:09:28 +00:00
leo 670b06c6e0 Move config_console() out of the grf-layer. This allows for more than just
grf-type consoles (wscons). Config_console() is now called from consinit(),
just after setting up the kernel msgbuf, so debugging is easy(er).
To further facilitate this move, the pcibus now allows for early-console
attaches by allocating static bus_space_tags (no mallocs possible at this
point).
2000-09-28 07:26:48 +00:00
leo 6cb04802f1 Nuke cf_unit abuse. 2000-09-28 06:39:52 +00:00
leo af27893736 Correct some typos. 2000-09-28 06:32:10 +00:00
leo a89f788198 Move the grfbus out of std.atari. You don't want a grfbus defined on headless
and wscons setups.
2000-09-28 06:19:06 +00:00
itohy c2672f184b Fix the type of pmap_zero_page_uncached from void (paddr_t) to
boolean_t (paddr_t) to make it compile again.
2000-09-28 03:41:50 +00:00
mhitch f9521e4c70 Set the boundary to NBPG for bus_dmamap_create(). The IOASIC DMA segment
can not cross a page boundary.  This fixes a problem when a dump(8) buffer
just crossed a page boundary and bus_dmamap_load() would coalesce the
the overlap onto the first segment.  The NEXTPTR value would get set to
-1 when starting the DMA transfer and the residual data for unaligned
transfers would be copied to physical address 0x1ffffffc.  On the R3000,
this would result in corrupted data, and on the R4000 would usually result
in a hard system hang.
2000-09-28 03:27:29 +00:00
mhitch 226b343323 Need to use MachHitFlushDCache() for the MIPS3 to ensure invalidating
both the primary and the secondary caches.  MachFlushDCache() will not
invalidate the correct secondary cache lines for KSEG2 addresses.
R4000 systems should now be able to boot and run.
2000-09-28 03:19:12 +00:00
is 643b30ef1d Admit that we count wired pages. 2000-09-27 21:34:29 +00:00
fvdl c84826de03 Enable usb devices that may be useful during the install (hubs, keyboard,
ethernet, mass storage).
2000-09-27 20:41:35 +00:00
eeh 2b673aaef8 Add -V and -D bootflags to print out debug info in pmap_bootstrap() and
a fix for non-DEBUG kernels.
2000-09-27 18:20:33 +00:00
eeh 8a0dc83e07 Fix for prev (define fl). 2000-09-27 18:16:01 +00:00
uch 0ab2301b6b hot plug support. 2000-09-27 17:32:34 +00:00
fvdl 3a999fb11f A GENERIC and INSTALL tailored for laptop usafe (i.e. cardbus and
PCIBIOS options included).
2000-09-27 16:57:09 +00:00
fvdl 0619e37229 Reduce ramdisk size to the amount that is really needed for optimal
space saving. Reduce number of ptys to 2. Use NFS_V2_ONLY.
2000-09-27 16:54:56 +00:00
fvdl 48b43cdfb9 Remove some less-needed items to save space. Also add NFS_V2_ONLY,
to save more space. For installs, NFSv2 will do just fine.
2000-09-27 16:09:18 +00:00
uch e1c01aff60 remove obsolete files. 2000-09-27 13:42:14 +00:00
shin d3cf7525d3 add 'options VNODE_OP_NOINLINE' to reduce size. 2000-09-27 10:22:22 +00:00
shin 6ec1be8054 apply 'hpckbd' change. 2000-09-27 10:21:23 +00:00
sato 82d4c9df0e add DoCoMo sigmarion cover button. 2000-09-27 09:32:23 +00:00
sato b1d64a728d add DoCoMo sigmarion keymap. 2000-09-27 09:30:47 +00:00
aymeric 5712405584 cross-compile properly 2000-09-27 08:28:34 +00:00
aymeric 25365607f3 minor aesthetic changes, plus explicitly state this is public domain 2000-09-27 08:24:02 +00:00
aymeric 97e929ff45 define PCB_REGS_* so that kdb compiles again 2000-09-27 08:23:50 +00:00
scottr 489ed1a908 The Duo ADB controller doesn't notify us that it needs to be polled
through the (emulated) VIA.  Work around this problem by polling the
Power Manager chip directly.  From Daishi Kato, PR 9852.
2000-09-27 03:57:51 +00:00
scottr 29923311f1 Set up ADB hardware type before making decisions based on same.
This is part of PR 9852 from Daishi Kato.
2000-09-27 03:27:23 +00:00
scottr 7c2fc39588 Now that we do collision detection and assign all ADB devices to distinct
addresses, it makes sense to print the actual address of the device rather
than the original address.  The latter is useful to distinguish the type
of device only, so we maintain that data internally (as we always have).

This closes PR 10557 from Dave Huang.
2000-09-27 03:22:05 +00:00
wdk ceb69697cd Backout previous commit.
loadfile_machdep.h doesn't belong in /usr/include/machine

Pointed out by Simon Burge
2000-09-27 02:06:08 +00:00
msaitoh f487c6c12e check whether both COMPUTEXEVB and SH7709A is defined to access special
register.
2000-09-26 22:23:55 +00:00
msaitoh 7c1b5c5599 fix SDMR settings:
- s/BSC_SDMR_VAL/BSC_SDMR3_VAL/
 - add options COMPUTEXEVB
2000-09-26 22:20:03 +00:00
eeh 008eadbac6 UltraSPARC machines don't have FP queues. Don't let userland code set them.
It tends to break the FPU emulation code.
2000-09-26 22:05:50 +00:00
jeffs 1bf0f4630f Use a cast to handle syscall() copyin case with 64b clean ctx save/restore. 2000-09-26 18:24:45 +00:00
jeffs d6f992112d No longer save $at on syscall entry. v1 does appear to be used as if
you do not save it and pass it along in rval the system will start
to fail running user programs.  This finishes the suggestion by cgd to
not save some registers on syscall entry.
2000-09-26 18:22:12 +00:00
uch a21df3ae8e fix R3900 FlushCache bug. 2000-09-26 17:47:40 +00:00
ad a01a66c525 cac* at eisa? reported as working. 2000-09-26 11:51:14 +00:00
wdk bbec09cae1 Add stand directory to build process 2000-09-26 11:45:06 +00:00
wdk 7378a103a0 Much needed installboot utility. Manual page to follow.
Builds and installs from stand directories, but untested from higher
level makefiles.
2000-09-26 10:00:19 +00:00
wdk 50e120c13f Parse boot string intelligently to extract the boot device options.
This permits boot from any SCSI ID
2000-09-26 09:48:35 +00:00
wdk 7495cd76b1 Since we don't have a lseek function in the PROM firmware standalone libs
we have to poke the data structures directly to force the offset we need.

The open() function returns with the address of the IO control block in
register t0 so we take a copy of it for our brute-force lseek function.

This should be reasonably portable since the firmware writers closely
follow UNIX semantics and the open stubs should recompile and use the
same registers.   May break on the rebadged clones -- buyer beware.

The alternative is to use dummy reads to go forwards and reopen followed
by dummy reads to go backwards.  It takes around 60 seconds to boot
using this method if we use a clean filesystem.

Tested with firmware versions 5.40 and 5.43
2000-09-26 09:32:25 +00:00
wdk 9b4e50f624 Second stage bootstrap:
-  Rename from boot.mipsco -> boot to be consistant with other ports
  -  use ELF format
2000-09-26 09:11:04 +00:00
wdk 1eec339f4b First stage bootstrap is stored on boot sectors in ECOFF format. Ensure
entire file fits within the imposed limit.
2000-09-26 09:06:50 +00:00
simonb 215a3a5491 Add support for booting off RAIDframe RAID1 mirrors.
Check the first partition type in devopen(), and if it is of type
FS_RAID, add 64 to blkdev_part_offset.

NOTE: This brings the size of the alpha first-stage bootblocks up to
      close to the maximum.  RAID1 support is controlled by the
      BOOTXX_RAID1_SUPPORT define, and is easy to disable if size
      becomes an issue.
2000-09-26 05:13:36 +00:00
pk 2e79bfed2d Missing `#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG)' 2000-09-25 21:02:38 +00:00
simonb ea0dd8a5fb Reenable VNODE_OP_NOINLINE, and some white space nits. 2000-09-25 14:05:32 +00:00
abs 3ef92f0bdb Use "options<SPACE><TAB>" not "options<TAB>" - noted by simonb.
Move VNODE_OP_NOINLINE and NFS_V2_ONLY into '# Filesystem options' section.
Consistently label '# Filesystem options' and '#File systems' sections.
2000-09-25 13:54:50 +00:00
abs ccf1c822a6 Ensure all INSTALL config files have (at least) COPTS="-Os", cincluding bebox
based on it working already for macppc.
Also add commented out:
#options        VNODE_OP_NOINLINE       # Don't inline vnode op calls
#options        NFS_V2_ONLY             # Exclude NFS3 and NQNFS code
as suggestions for additional savings
2000-09-25 11:46:37 +00:00
sato eb2da98d92 #include <sys/reboot.h> would probably suffice for those. 2000-09-25 09:03:32 +00:00
sato 67afa9cfe2 - when PMUINT_BATT or PMUINT_BATTINTR interrupts occured,
send CONFIG_HOOK_PMEVENT_SUSPENDREQ event.
2000-09-25 03:51:28 +00:00
sato 1efb55d0b4 - add debug/verbose functions. 2000-09-25 03:47:37 +00:00
sato 5125b04184 - can compile these files.
#include <sys/boot_flag.h>
2000-09-25 01:56:56 +00:00
itohy dd5d3287ec Use "etext" instead of "_etext" like db_trace.c,
which makes it be linked by a.out ld.
2000-09-24 23:46:37 +00:00
itohy c3202405d5 Support half-duplex mode (use only one DRQ).
Fix PR #10308.
2000-09-24 23:40:12 +00:00
jdolecek f9f2c92422 this file was oversight at first (pointed out by is):
Add new boot flags -v, -q, which switch on AB_VERBOSE or AB_QUIET
respectively. This follows recent bootverbose/bootquiet changes.
2000-09-24 20:56:04 +00:00
jdolecek 2308091f66 update usage message (new flags -v, -q) 2000-09-24 18:28:18 +00:00
jdolecek b135d5504a netbsd_opts.c was removed as part of bootverbose/bootquiet changes
Pointed out by Lennart Augustsson in private e-mail.
2000-09-24 18:13:54 +00:00
tsubai 5836de14e4 Fix a bug introduced in BOOT_FLAG change. 2000-09-24 16:16:37 +00:00
jdolecek b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
tsubai 4833accce2 In mem_regions(), remove zero sized entry returned from OF.
Since this function uses size == 0 to delimiter, valid entries must not
contain 0 in size field.

G4 Cube should boot now. :-)
2000-09-24 15:57:03 +00:00
tsubai 4317291e1a Make HTABSIZE calculation work with >1GB RAM. 2000-09-24 15:26:34 +00:00
jdolecek 5fea96167f use new generic bootverbose instead of local definition 2000-09-24 12:37:03 +00:00
jdolecek 27824fb036 note support for verbose/quiet boot (-v, -q flags) 2000-09-24 12:33:58 +00:00
jdolecek 49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
simonb cd2e1c1e91 Use ${COPY} instead of -c for ${INSTALL} commands. 2000-09-23 13:53:41 +00:00
bjh21 d0dfd74448 COrrect comment at top and add options NFS_V2_ONLY. 2000-09-23 12:58:26 +00:00
bjh21 b6ba812d35 Much juggling of pmap startup sequence:
* All of pmap_init is now deferred to the first call of pmap_create.  This
  allows us to allocate stuff dynamically using malloc.
* pv_table (which is needed before malloc is available) is temporarily
  allocated using pmap_steal_memory in pmap_bootstrap, and then
  re-allocated using malloc in pmap_create, with the old allocation being
  given back to UVM.  This should save some memory on small machines, but
  the malloc overhead probably soaks it up.
2000-09-23 12:54:47 +00:00
bjh21 3112fd4f14 Add a pmap_steal_memory implementation. This has two good consequences.
First, it reduces the kernel text segment by 1k or so.
Second, it should enable me to eventually allocate the pv_table dynamically.
2000-09-23 11:10:58 +00:00
augustss e9a2baa2ff Grab a major # for USB scanners. 2000-09-23 04:30:08 +00:00
eeh ece5d6d3f0 Define __BUS_SPACE_HAS_STREAM_METHODS now we have them. 2000-09-22 21:01:55 +00:00
is 4e2cf3688b fpu_emulate.h:
the fmovecr constant table has the internal format
  of the constants. So, when changing the mantissa size by a
  non-multiple of 32 bits, we'd have to change this table, too. As
  all other code changes just chopped of the least significand
  32bit word of the mantissa, we correct the mantissa size instead
  to (115 - 32 == 83) bits.
fpu_fmovecr.c:
  put a safety belt in, to catch the next person who doesn't know this.
fpu_int.c:
  in one place, the reduction of the mantissa size was overlooked.
fpu_log.c:
  as the most significand 32bit word of the mantissa was changed back to the
  old format, change back the table indexing code, too.

This should fix PR 11045.
2000-09-22 19:47:58 +00:00
scw 5f6802db57 Add pmap_zero_page_uncached(), and the PMAP_PAGEIDLEZERO macro. 2000-09-22 08:27:00 +00:00
thorpej 264dadf928 After consultation of the 21164A manual, the I-cache blocks are
indeed tagged with ASM and the ASN, "per the Alpha architecture".
It is therefore safe to cancel any pending lazy I-sync on a
given CPU when a new ASN is assigned on that CPU.
2000-09-22 05:23:37 +00:00
scottr 7eec1b2d04 Attach exactly one keyboard to the wscons console. 2000-09-22 04:56:54 +00:00
thorpej 0564259315 Make this a more likely laptop config file. 2000-09-22 00:18:17 +00:00
eeh 57ebc2eb53 Remove some unsupported devices and add support for the `com' device. 2000-09-21 23:46:49 +00:00
eeh e3a80e9511 Add support for the `com' driver and Sun Keyboard/Mouse line disciplines. 2000-09-21 23:44:06 +00:00
bjh21 7751c0fd46 If we haven't got DDB in the kernel, there's not much point hanging onto the
symbol table.
2000-09-21 23:22:51 +00:00
eeh 805ffd07cc Sun Keyboard/Mouse line discipline support. 2000-09-21 23:14:40 +00:00
eeh ac3f296768 Guts of the Sun Keyboard/Mouse line disciplines.
N.B. They don't recognize L1-A yet.
2000-09-21 22:25:08 +00:00
bjh21 f3ef35c447 Add rudimentary 80C04 support (basically saying "Oh look, an 80C04!").
Move printing the initial ":" into the board driver, like i82586.c does.
Don't bother printing the amount of RAM, as it's always 64 KB.
2000-09-21 22:20:38 +00:00
thorpej f2e9848f4a When doing uncached page zeroing, abort if a process becomes
runnable before we're finished zeroing the pages.
2000-09-21 21:43:24 +00:00
jeffs e13c3f735f In trap(), do not lower spl for T_BREAK. This lets ddb always run at
splhigh() so nothing can happen behind it's back.
2000-09-21 20:59:58 +00:00
thorpej b008f5f25a Make PMAP_PAGEIDLEZERO() return a boolean value. FALSE indidcates
that the page being zero'd was not completed and that page zeroing
should be aborted.  This may be used by machine-dependent code doing
slow page access to reduce the latency of running a process that has
become runnable while in the middle of doing a slow page zero.
2000-09-21 17:46:04 +00:00
takemura 680c6d9cd0 Recompile pbsdboot for DoCoMo Sigmarion and NEC MC/R330.
The version number gets 1.16.1 2000.09.21.
2000-09-21 14:24:40 +00:00
takemura 454e19c166 skbd -> hpckbd. hpckbd supports vrkiu as well as m38813c and tc5165. 2000-09-21 14:17:29 +00:00
sato 2ea1ab1fbb add MC/R330.
add sigmarion.
2000-09-21 03:19:57 +00:00
sato 109c7bc1e5 regen. 2000-09-21 03:18:04 +00:00
sato d5a2a40be6 Add NEC MC/R330.
Add DoCoMo sigmarion.
2000-09-21 03:16:10 +00:00
fvdl 76e330bdb3 Fix typo. 2000-09-20 22:59:44 +00:00
is ff3689f89c On AmigaPPC, the kernel directly maps the i/o range. 2000-09-20 19:05:53 +00:00
thorpej bda9ce7990 Enable VM86 -- it's needed for some X servers (notably, S3 Savage,
which runs the VESA BIOS in VM86 emulation in order to switch video
modes).
2000-09-20 18:22:22 +00:00
thorpej dbe9b6987f Enable VM86 and DUMMY_NOPS. 2000-09-20 18:20:55 +00:00
fvdl 082a77ccfe Bring the default value of NMBCLUSTERS into the modern age. 2000-09-19 22:21:54 +00:00
scw 0161d6a880 Pass the requested cpu irq priority through to the VME chipset-specific
backend.

The VME2chip can use this to translate a VMEbus irq to a cpu irq.

The VMEchip (on mvme147) can't deal with the VMEbus irq and cpu irq
being different so we just panic in that case for now.
2000-09-19 19:35:52 +00:00
scw 18deccffca Add IPL_SERIAL. 2000-09-19 19:31:34 +00:00
pk d5fe063129 MULTIPROCESSOR: if the cache flush functions are no-ops on a single
processor, they can be no-ops in the MP case as well.
2000-09-19 13:44:35 +00:00
wdk d471ac652d Forgot to commit this file with the 2 stage bootstrap 2000-09-19 07:50:50 +00:00
jeffs f1173a05e0 Add trace/t pid support for mips. 2000-09-19 06:22:51 +00:00
scottr e4b50d9bfc Ken'ichi Ishizaka discovered that some devices, e.g. the A3 Mouse, don't
respond in the allotted time if they're told to TALK immediately after
completing a LISTEN command.  Experimentation with adb_op_sync() yielded
consistent results when the timeout was increased from the documented
6900 usec to 8000 usec, so we'll make that change here.

(Accurate and complete documentation of the hardware sure would help...)
2000-09-19 05:17:55 +00:00
minoura 575a64a7af Correct comments. 2000-09-19 03:17:59 +00:00
thorpej a42b372bd6 In pmap_ptpage_steal(), don't traverse into the kernel portion
of the address space.
2000-09-19 01:02:37 +00:00
bjh21 40aba7cd4d Split the arm26 Ether3 (ea) driver into an MI driver for the SEEQ 8005 chip,
and a front-end driver for the Ether3.  Only semantic change is to remove
ea_claimirq() and ea_releaseirq() on the grounds that the seem too spurious
to warrant a callback to the front-end.
2000-09-18 20:51:14 +00:00
bjh21 41b1cb9327 Remove mention of truly dead files 2000-09-18 20:08:43 +00:00
bjh21 f32aac93cb Add an ROMTEXTBASE option to change where the text segment is linked. This
might be useful for making rommable kernels if I can get the rest of the
infrastructure sorted.
2000-09-18 18:33:33 +00:00
bjh21 bae27bc250 Make the FOURMEG kernel a bit smaller. Still not small enough. 2000-09-18 18:30:01 +00:00
uch 0500ddb633 [R3900/R3920] sync with
| Module Name:	syssrc
 | Committed By:	nisimura
 | Date:		Sat Sep 16 07:20:17 UTC 2000
2000-09-18 18:17:32 +00:00
bjh21 35dc9595d6 Move the user structure for process 0 into the same page as its stack segment,
the same as for every other process.  It probably doesn't matter, but it makes
me feel more comfortable.
2000-09-18 18:01:39 +00:00
nonaka 0079d5e3ba Added installboot program. 2000-09-18 15:44:09 +00:00
wdk 513cc0ca27 Linker script for building first stage bootstrap. Due to bugs/limitations
in the MIPS prom loader we have to be very careful how the sections are
ordered and the number of sections defined.   For this reason the standard
linker scripts cannot be used.

The exact rules don't appear to be documented and a little experimentation
is required.
2000-09-18 11:48:29 +00:00
wdk a3ec172607 Initial commit of a 2 stage bootloader for NetBSD/mipsco. Based on pmax
and alpha ports.

Uses PROM standalone I/O functions but due to the lack of a lseek function
it currently only works with version 5.40 of the firmware.  A more portable
solution is being worked on.

installboot utility requires several changes in order to correctly install
the bootstrap code - there is a "volume directory" which contains a list
of filenames, start sectors and length.  We need to add a "boot" entry of
the correct length starting at block 2.  The boot file has to be ecoff
which means we waste another 0.5k

Normally the Mips filesystem has a ~500k partition for this purpose but it
should be possible to squeeze it all into the first 7k "BSD Style" (1k is
required for 2 different copies of the partition table)

Only the bootxx_ffs first stage bootstrap has been tested via bootp() which
loads the second stage off disk and then boots the kernel.
2000-09-18 11:40:46 +00:00
eeh 0596b6b6dc Make the improved %tick changes work with machines that use the counter-timer
for the clock.
2000-09-17 19:23:37 +00:00
is ff3205e665 Make this build again. Fixes by Michael Hitch. 2000-09-17 18:24:12 +00:00
eeh 903720d945 Add bus_space*stream*() methods. I hope they work. 2000-09-16 14:07:58 +00:00
wdk 74fa574688 * Add INET6 and IPSEC support.
* Enable vnd driver for creating a working miniroot.
2000-09-16 09:35:38 +00:00
wdk 0b445f157e Add missing align argument to uvm_map() which was missed by thorpej during
original commit.
2000-09-16 09:18:01 +00:00
wdk da962aaad5 Add support for bootinfo structure to be passed from 2nd stage bootstrap.
Pass symbol table information to DDB if available.
2000-09-16 08:34:26 +00:00
wdk 780256a327 Prototype prom_ioctl 2000-09-16 08:27:58 +00:00
wdk b57fe26ada Write a NetBSD disklabel to 2nd sector while retaining the Mips volume
header in the ist sector.   We now use the NetBSD label in preference
to the Mips Volume header.
2000-09-16 08:27:16 +00:00
nisimura 70a97ab16c Introduce new MIPS1 direct mapped cache capacity detection logics. 2000-09-16 07:20:16 +00:00
jeffs 36c4252a17 Re-enable SR IE bit before calling syscall(). Matches Tohru's mips1 change. 2000-09-16 06:57:21 +00:00
nisimura 2982d7707b There is no need to handle processor master interrupt mask SR_INT_IE
in syscall() anymore.  By defition, processor was in SR_INT_IE turn
on prior to have syscall exception.  MIPS1 assembler hook arranges
to enable the bit for its own.  MIPS3 does the same effect by
turning off EXL bit.
2000-09-16 05:07:06 +00:00
nisimura f4b74d3898 - Reimplement MIPS1 cache size dectection logic taking advantage of the
fact the direct mapped cache makes address alias effect.
- Just turn on processor master interrupt mask IEc (SR_INT_IE) bit prior
  to call syscall() kernel entry point.  IEp is always 1 in this case
  by defition.
2000-09-16 04:54:44 +00:00
simonb 3db7ffbbce Add a (commented out for now) VNODE_OP_NOINLINE options line, and mention
that it makes smaller and possibly slightly faster kernels.
2000-09-16 00:09:14 +00:00
simonb 4afcecdc80 Use VNODE_OP_NOINLINE - saves about 17k off the INSTALL kernel size. 2000-09-16 00:06:56 +00:00
chuck 9dc2f5ced0 IDT32364's Config register uses a different base for IC/DC (instruction
and data cache sizes).   R4000 uses 2^(12+IC) and 2^(12+DC).  IDT32364
uses 2^(9+IC) and 2^(9+DC).

abstract around the problem by making the base a parameter to the
MIPS3_CONFIG_CACHE_SIZE macro.   we pass the base down from mips_vector_init
to mips3_vector_init and to mips3_ConfigCache (where it is used).

XXX: someone with an MIPS3_4100 should switch to this and get rid
of the ugly ifdefs in cpuregs.h
2000-09-16 00:04:57 +00:00
tsutsui 6c7e1613e0 Add uvm_pageidlezero support. From x68k. 2000-09-15 17:15:05 +00:00
tsutsui 74662105ab netintr() is now declared in isr.h. 2000-09-15 15:55:10 +00:00
tsutsui f528673cf3 Add prototype declaration of netintr(). 2000-09-15 15:52:15 +00:00
scw 53d57897d0 Use the complete ethernet address stored in nvram on mvme162/mvme167
instead of faking the first 5 nibbles a'la mvme147.

Apparently recent mvme16x boards have a new 5 nibble prefix...
2000-09-15 08:50:24 +00:00
jeffs bdad8bae5b Handle R4K trap faults in user mode like overflows (deliver SIGFPE). This
prevents a panic running crashme.  Better comment for VCE define.
2000-09-15 06:50:46 +00:00
enami ead2ed15cf Add few more L2 cache info entry. 2000-09-15 03:44:28 +00:00
enami 29027825f3 When fetching cache info:
- Don't fall into infinite loop even if the # of iteration necessary isn't 1.
- Don't interpret lower 8bit of AL, which is # of iteration, as a descriptor.
2000-09-15 03:41:18 +00:00
thorpej d4f4fa2190 Make sure pmap_collect() doesn't remove wired mappings. Per discussion
w/ Chuq Silvers.  Fixes a panic when a program with wired pages that
has run for a long time when the system is under heavy memory load
exits (specific case was ntpd, reported by Simon Burge).
2000-09-14 17:06:52 +00:00
is 47d6ee388a Missing piece of PowerPC support. 2000-09-13 20:15:52 +00:00
thorpej 3d6272fcdf Use VNODE_OP_NOINLINE. 2000-09-13 16:26:15 +00:00
thorpej 72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
tsutsui ed45ef52e2 Disable KERNFS. 2000-09-13 13:52:21 +00:00
thorpej d0b099a9fc Fetch cache info via `cpuid' insn, parse it, remember it,
and report it at boot time.
2000-09-13 08:04:15 +00:00
jeffs efef8a5aa6 Do not save t* registers in syscall stub as suggested by cgd. Saves
a whole 0.01us in lmbench lat_syscall null on our 250Mhz QED system.
$at is still saved just to be safe, although it looks like it does
not need to be.  $v1 is used in syscall(), although I'm not sure why.
2000-09-13 06:48:04 +00:00
nisimura c65b8a8ceb Nuke unused obscure #define's. 2000-09-13 05:23:37 +00:00
scottr ff2130346c Resolve bus_space_write_region_2() type mismatches. 2000-09-13 05:21:16 +00:00
scottr 7eb72c4f15 ae_write_mbuf() broke with the last change; revert. 2000-09-13 05:16:47 +00:00
thorpej 90a2e46ab1 Add support for using the 586- and 686-class performance
counters.
2000-09-13 04:47:00 +00:00
thorpej b9b07590ec Define some 586-class CESR MSR bits. 2000-09-13 04:44:27 +00:00