Commit Graph

23917 Commits

Author SHA1 Message Date
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
simonb 57a9ae4559 Add support for booting off RAIDframe RAID1 mirrors.
If the first partition is of type FS_RAID, then add 64 to the block
number for each I/O in rzstrategy().
2000-09-13 04:06:46 +00:00
nisimura cfbce2edce Have MI SCSI device descriptions in GENERIC, removing 'mi.scsi' file. 2000-09-13 03:44:38 +00:00
thorpej e2cc69026a Add 686-class performance counter events. 2000-09-13 03:37:04 +00:00
nisimura 0ba2036eee Introduce 'segbase' global variable to hold the pointer to current
process's segtab, retiring 'pcb_segtab' field from 'struct pcb'.
This would be another MULTIPROCESSOR unfriendly and the necessity
might be eliminated when the way to hold PTE is redesigned.
2000-09-13 01:53:00 +00:00
chuck 0dcdf1214c kill mips3_write_xcontext_upper 2000-09-13 01:20:41 +00:00
chuck 6f9229b2e6 modify mips3 locore to elminate the abuse of XContext
so that we can run on systems that do not have XContext
(e.g. IDT 32364).
2000-09-13 01:12:47 +00:00
eeh 022746fd14 This really does seem to fix the ref/mod issues. (Yeah, like were did we hear that before?) 2000-09-12 19:42:26 +00:00