Commit Graph

24107 Commits

Author SHA1 Message Date
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
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
minoura a78010b7b8 Adjust ramdisk sizes. 2000-09-12 17:07:44 +00:00
soren 99418ce05f Remove old comment. 2000-09-12 15:40:36 +00:00
minoura 8199d05ce7 Reduce ramdisk size by using hacked commands in distrib/utils. 2000-09-12 15:40:00 +00:00
minoura ff4b8473ae Enable sram device, which is used by memswitch(8). 2000-09-12 15:00:06 +00:00
tsubai a0cf020afb Configure L2 cache if it is not enabled by the firmware. 2000-09-12 14:47:38 +00:00
sato aa96730805 bzero allocated structutre initialy. 2000-09-12 08:25:44 +00:00
eeh 5be9d50b09 Fix new version of microtime. 2000-09-12 04:16:29 +00:00
takemura 83517998af fix typo in boot message. 2000-09-12 02:12:20 +00:00
eeh cc7f95986b (Hopefully) fix clock skew on machines that us %tick for the clock (UIIi). 2000-09-11 23:29:31 +00:00
eeh 870af94ef7 Add locking to pmap operations and support multiple physical memory segments. 2000-09-11 23:27:22 +00:00
eeh cb2350a90d Don't take protection faults on I/O mappings. 2000-09-11 22:37:34 +00:00
eeh df698d172e Fix some sign extension bugs. 2000-09-11 22:36:35 +00:00
eeh 6c00d395e1 Don't take protection faults on I/O pages. 2000-09-11 22:34:02 +00:00
sato 5bb7aeddee - delete some unused codes (but some experimental code is not deleted)
- add experimental HPCFB_JUMP code but it is not enabled.
2000-09-11 13:44:49 +00:00
nisimura a101bca4b8 Needs to have machine/asm.h for userland applications. 2000-09-11 03:25:40 +00:00
sato 96f8d01088 add SPEAKER pwctl device for several machines. 2000-09-10 15:48:10 +00:00
sato 20cc493f48 add CONFIH_HOOK_POWERCONTROL_SPEAKER. 2000-09-10 15:45:47 +00:00
sato 988e123a02 - not handle CONFIG_HOOK_POWERCONTROL events because the events
handled by lower lcd/lcdlight control device.
2000-09-10 15:33:48 +00:00
sato 39556606fe handle CONFIG_HOOK_POWERCONTROL events
- PWR_SUSPEND: save giu bits values and turn "off" the values.
- PWR_RESUME: restore giu bits values.
2000-09-10 15:30:32 +00:00
lukem cbb605647a add (commented out) entry for WSCONS_DEFAULT_TYPE 2000-09-10 11:48:38 +00:00
pk 4e56e1746f Turn off page zeroing in the idle loop; an unidentified bug causes (very
sporadic) user process corruption.
2000-09-10 11:32:04 +00:00
takemura ed9f910cc8 Introduce WSDISPLAY_NULLSCREEN to allow low level device to detach control
process. Hpcmips frame buffer driver(hpcfb) call wsdisplay_switch with
WSDISPLAY_NULLSCREEN to notify user process of suspend/resume event.
2000-09-10 09:39:57 +00:00
takemura 3369a78b96 Create dummy main window to resolve the problem that it can't setup color
palette correctly.
version no gets '1.16.00 2000.09.10'
2000-09-10 08:29:53 +00:00
takemura 1f41d9a644 Previous revision contains some Japanese chars by mistake.
The bootloader has been improved by Kazuma Arino.
  - dialog style main window
  - support to read compressed kernel image
  - automatic boot with timer
  - human readable configrarion file
version no gets '1.15.00 2000.08.29'
2000-09-10 08:02:13 +00:00
nisimura eafab3fe6b RB_DFLTROOT is obsolute and G/C'ed from main trunk at late Jul of 2000. 2000-09-10 06:26:51 +00:00
chs 62a6d0660c move the guts of pmap_remove() to pmap_do_remove(), which has a flags arg
to tell it whether or not to remove wired mappings.  pmap_remove() wants
to remove wired mappings, pmap_collect() doesn't.  fixes PRs 10363 and 10761.
2000-09-10 03:45:58 +00:00
eeh 2f28900566 Make sbus_wenable() and ebus_wenable() work on 32-bit kernels. 2000-09-09 23:29:06 +00:00
scw 4bf2309112 Partially back-out the previous change. What was I thinking... 2000-09-09 19:51:36 +00:00
pk 3011e0816b Revise pv_table_map(): to simplify calculations, pv_table[] now covers
all of physical memory, i.e. it conceptually is pv_table[0..avail_end].
The previous version could lead to an off-by-one error in the page allocation
for pv_table[] in some memory configurations.
2000-09-09 10:24:34 +00:00
nisimura 48ff19c98b u_char -> u_int for function argument and return of Zilog register
manipulation helper functions; no loss, no gain, for Alpha processor.
2000-09-09 06:08:42 +00:00
tron cb01317d62 Final fix to make this work without object directories again. 2000-09-08 19:57:05 +00:00
msaitoh 2b1674cc62 remove extra #endif 2000-09-08 19:52:13 +00:00
tron 3220c30427 Readd at signs before commands which were removed for debugging. 2000-09-08 19:50:52 +00:00
msaitoh 2cb1f4181a sync with i386's revision 1.133:
It's legal to mmap pages in the lower part of the stack (<limit),
	and use them, so allow this by relaxing the check for it.
2000-09-08 19:48:12 +00:00
tron 278e796ec6 Do last change differently: "(unset MAKEOBJDIRPREFIX || true)" is a NOP,
use "MAKEOBJDIRPREFIX= && unset MAKEOBJDIRPREFIX" instead.
2000-09-08 19:48:00 +00:00
tron f5cb2786f8 Use "(unset MAKEOBJDIRPREFIX || true)" because unset return an error code
if the variable was not set before.
2000-09-08 19:45:45 +00:00
chs e3b6ec1d77 remove extra paren so this compiles again. 2000-09-08 19:26:17 +00:00
msaitoh 772c846544 delete an obsolete comment. 2000-09-08 18:46:39 +00:00
ragge d85872dd78 By some reason setstatclockrate() suddenly get called occationally
(it hasn't been called since -94 :-) Remove the panic that happens when
it is called.
2000-09-08 11:41:59 +00:00
tsubai 9fdd44d404 DDB single step and stack trace support. 2000-09-08 10:15:23 +00:00
jeffs bbcf1beea0 In outofworld, keep $sp for DDB case if it looks like a kernel address
so the stacktrace is ok.
2000-09-08 07:24:42 +00:00
matt 9c01e4e226 deal properly with MAKEOBJDIRPREFIX (which has priority over MAKEOBJDIR so
the MAKEOBJDIR to ${MAKE} has no effect) so we unset MAKEOBJDIRPREFIX before
invoking ${MAKE}
2000-09-08 05:37:59 +00:00
jeffs 8f8a7ca780 Shuichiro URATA pointed out that the R4000 needs 3 nops. Other OSs make
it look at casual inspection like 1 nop is needed but play other tricks.
Still have reduced by 1 nop.  Hopefully this covers the NEC 41[x]1.  Could
not find info for those processors.
2000-09-07 20:31:02 +00:00
thorpej a1139ee535 Example config file for enabling large page support. 2000-09-07 18:55:30 +00:00
thorpej 2fc18ed7a4 Replace the old db_memrw.c with the hp300 version, modified for i386
and large page support.  This version is a bit more intelligent about
how it deals with kernel text pages.

Now that this is fixed, don't map the kernel text read-write if
DDB is configured.
2000-09-07 18:46:19 +00:00
thorpej a68986edfc Add optional support for mapping the kernel with large (4MB) pages.
Right now, only does kernel text, and wastes a little memory, but
there is some noticeable performance improvement even with just text.
2000-09-07 17:20:58 +00:00
thorpej 2204402aa1 If KERN_LDSCRIPT is specified as a makeoption, then add it to the
linker flags.
2000-09-07 06:39:36 +00:00
thorpej 1946ce2a42 A linker script based on elf_i386.x which aligns the .data segment
to a 4MB boundary, thus allowing the text and read-only data to be
mapped using large pages.
2000-09-07 06:36:24 +00:00
thorpej 50668be499 Deal with low addresses in pmap_k{enter_remove}. port-i386/10966. 2000-09-07 06:06:52 +00:00
sato 9a5210c76d - adapt config_hook(CONFIG_HOOK_PMEVENT,..)
save cmu clock mask register and disable all clock when PWR_SUSPEND event.
  restore saved cmu clock mask register when PWR_RESUME event.
2000-09-07 03:11:11 +00:00
thorpej fbc40806dd vtopte() and kvtopte() now check for kernel vs. non-kernel addresses,
respectively.
2000-09-06 23:32:13 +00:00
thorpej b53916e196 Cast arguments to kvtopte() to vaddr_t. 2000-09-06 23:28:30 +00:00
thorpej 5f98fd6c03 On second thought, back out kvtopte() change in previous. Dug, PT pages
are in a special VA range, not kernel VA range.
2000-09-06 22:23:46 +00:00
thorpej ba3605f2bf Use kvtopte() for kernel addresses. 2000-09-06 22:22:27 +00:00
thorpej a7b2cf9d7a Print CPU features, and use kvtopte() for kernel addresses. 2000-09-06 22:19:46 +00:00
thorpej e32a6a7c54 Use kvtopte() for kernel addresses. 2000-09-06 22:09:58 +00:00
scw 7f3786d36a Add preliminary support for the MVME162-LX 200/300 series of boards.
Currently, the major onboard devices are supported (disk, network,
rs232 and VMEbus). However, work is still need to support the remaining
devices (eg. IndustryPack sites).

These boards are available with a dazzling array of build options. At
this time, the following options are *required*:

	o Real floating point hardware (the 68LC040 model isn't tested),
	o The VMEchip2 must be present,
	o If offboard VMEbus RAM is not present, at least 8MB of onboard
	  RAM is required.
	o Even if offboard VMEbus RAM *is* present, at least 4MB of onboard
	  RAM is required. (Boards with 1 or 2MB onboard RAM *can* be
	  supported with offboard RAM, but not without some funky values in
	  the VMEbus Master mapping registers.)

There is no support for boards other than those in the -LX 200/300 series.
2000-09-06 19:51:42 +00:00
thorpej 7dd395bb7f Remove some vto*() macros that won't stand a chance of working
with PSE or PAE, and reimplement vtphys() in terms of pmap_extract().
2000-09-06 19:09:45 +00:00
minoura b53cfef01f Adjust ramdisk size. 2000-09-06 14:29:41 +00:00
tsubai d0078c839c Add breakpoint(). 2000-09-06 11:25:13 +00:00
wdk b38096892a Microtime calculation was seriously incorrect when HZ != 100
Give rest of clock interrupt code a revamp.  Because we are using an external
cycle counter we can now handle loosing several hundred interrupts without
the time slipping.
2000-09-06 07:52:47 +00:00
jeffs 8f2cc012b5 Remove 3 of the nops between tlbwr and eret in tlb miss handlers. They
were added early when adding the QED support.  RM5231 seems to work fine
w/o the extra nops.  Noticed by Chuck Cranor.
2000-09-06 06:33:42 +00:00
thorpej eac566737e In pmap_extract():
- Return FALSE if the PTE does not have PG_V set (previously, you would
  get always get true of the PDE was valid, even if the PTE was not).
- Teach it about 4MB pages.
2000-09-05 21:56:41 +00:00
thorpej 7683d3f956 Define PG_LGFRAME, which is the page frame mask for large (4MB) pages. 2000-09-05 21:52:16 +00:00
thorpej 9c5afcb2f0 Move the Alpha _mcount() into a .S file so that it can be
pre-processed, like other Alpha assembly files.
2000-09-05 16:28:30 +00:00
tsubai bc0d647e21 Preserve symbol table for DDB. 2000-09-05 15:57:26 +00:00
tsubai dfcd3bca08 On G3 and G4, display short message if L2 cache is not enabled. 2000-09-05 15:29:28 +00:00
enami ef2b361222 Fix to work with objdir. 2000-09-05 05:05:16 +00:00
soren c5ce14be0a Back out (most of) previous. I was using an 1.5 asm.h and hadn't
noticed cgd's fix..
2000-09-05 01:24:51 +00:00
soren c3150dc3dc Add nop after PANIC macros. 2000-09-05 00:55:48 +00:00
tsubai 96f1451685 Downcase mnemonics. 2000-09-04 23:18:36 +00:00
tsubai 600169a9a3 Make this (at least) compile on sh3. 2000-09-04 23:11:42 +00:00
tsubai bf4246e37a Disassembly support in DDB. 2000-09-04 23:02:42 +00:00
tsubai cdbe0b9ec9 Add DDB hook. 2000-09-04 22:44:18 +00:00
wdk f0f97fa466 * Add extra tests to ensure NetBSD disklabel is not corrupted
* For MIPS RISC/os based diskl labels create partition 8 which is used
  by sash (and where bootstrap code hides).

* If existing MIPS RISC/os label is present update disk parameter information
2000-09-04 22:35:26 +00:00
wdk 3e329a2925 * Use bus_space_write_multi_2 for priming the DMA FIFO as suggested by cgd
*  Correctly handle transfer pad operation

*  Remove check for DMA fifo flush during DMA chaining - after considerable
   thought this is not required
2000-09-04 22:28:53 +00:00
wdk 7980486e61 Add #define's for PROM entry point addresses which will be needed by any
replacement bootstrap routines
2000-09-04 22:23:34 +00:00
wdk 801b97faf2 Add wbflush() to bus_space_{write_multi,write_region,set_region,copy_region}
functions
2000-09-04 22:18:58 +00:00
tsubai 5f39c378a3 Correct label_t size. 2000-09-04 22:18:43 +00:00
abs b5f864571c Switch INSTALL back to being used by miniroot install.
Add INSTALL-SYSINST config for sysinst install.
These are expected to diverge more as time progresses.
2000-09-04 16:16:18 +00:00
ragge 7b3463b7d7 Fix to correctly identify 3100/m30. From moj@stacken.kth.se. 2000-09-04 11:46:33 +00:00
msaitoh 85c00d0fed refer MMUCR_VALIDBITS from mmureg.h 2000-09-04 05:50:45 +00:00
msaitoh 8d1b1036ff - move MMUCR_VALIDBITS definition into mmureg.h.
- access correct address in cacheflush().
2000-09-04 05:48:35 +00:00
thorpej 0778dad08f Define the biglock perimeter for the Alpha port, and generally clean
up a bunch of the MP code.  Still doens't work properly yet, this is
just a snapshot of work-in-progress.
2000-09-04 00:31:58 +00:00
is 7d54381711 sm* at (mhz at) pcmcia* needs mii to link (although not at runtime...). 2000-09-03 19:07:05 +00:00
mhitch 4a320ca712 Use the correct DMA pointer for the second channel on 14-bit byte-swapped
conversion.  Fixes NULL pointer reference crash when playing 16 bit little
endian audio.
2000-09-03 02:04:53 +00:00
thorpej 7453e98fb9 Profiling version of the FRAU-FARBISSINA kernel. 2000-09-02 21:38:19 +00:00
mhitch 76585aedee Fix typo: a%0 -> %a0. 2000-09-02 04:50:08 +00:00
msaitoh e44c80532c sh3 disassembler written by Akinori Koketsu. 2000-09-01 22:25:36 +00:00
eeh 0d01e04003 Add support for write protecting clock registers. 2000-09-01 19:04:49 +00:00
tsubai 2e72bb2b72 Add fr key layout. (From Manuel Bouyer, modified by me) 2000-09-01 16:00:38 +00:00
tsubai a964ecd1a9 Correct iosize. 2000-09-01 10:43:33 +00:00
eeh 67ca76fd68 Use casx instead of stx to change entries in the page table trees. 2000-08-31 20:14:55 +00:00
eeh 65f1bb68b5 Add support for multiple memory segments. 2000-08-31 19:12:45 +00:00
eeh a17d71cd4b Fix register sheduling bug in st?a() routines and add casxa(). 2000-08-31 19:08:47 +00:00
pk 710295327e Scheduler lock update. 2000-08-31 16:59:12 +00:00
jdolecek 3fd457414e constify first arg to parseopts() 2000-08-31 07:21:46 +00:00
jhawk a022cf9d37 Use
${MAKE}
instead of
  make
2000-08-30 23:51:46 +00:00
jeffs f8d9f59ed9 Correct _KERN_MCOUNT restoration of $t9.
From Ethan Solomita (ethan@geocast.com).
2000-08-30 22:31:12 +00:00
is 0a7489b1e8 Enlarge RAMDISK to make it fit the installation fs again.
By Mike Pumford per port-arm32 mailing list..
2000-08-30 21:29:16 +00:00
tsubai c6b969cd89 Cosmetic changes. 2000-08-30 19:16:15 +00:00
tsubai f286397ff1 Scheduler locking changes. 2000-08-30 18:41:16 +00:00
jdolecek ad4cbd94a4 Switch to newvers_stand.sh-based boot block versioning. Add sensible 'version'
template, the boot block changes were picked from cvs annotates for Makefile
and boot.c.

Reviewed by Ragge.
2000-08-30 18:16:09 +00:00
soren 55dbdb6091 Typo. 2000-08-30 14:59:48 +00:00
tsubai c6615ed380 Initialize pv_head locks. 2000-08-30 09:55:28 +00:00
is 9ec45c470a Use an INSTALL kernel, instead of GENERIC. We want this to be as small as
possible so that it can boot even on low memory Amiga machines.
2000-08-30 09:43:04 +00:00
is e83ee64031 Stripped down Install kernels (no audio, no OSI or Xerox networking, no
scanners).
INSTWDCPCM has the wdc instead of the idesc, and the PCMCIA support, so
that people can test it easily.
2000-08-29 21:09:28 +00:00
leo 6c521b3fcc Now that formatting works (Thanks Nathan!), it shows that spec_read() is
issueing a 'DIOCGPART' at every read. Avoid re-reading the label at
every format-verify (or read/write on the block-device) by fetching the label
at open-time and caching it until we close.
2000-08-29 20:00:16 +00:00
takemura 212b3fa9d8 The bootloader has been improved by Kazuma Arino.
- dialog style main window
  - support to read compressed kernel image
  - automatic boot with timer
  - human readable configrarion file
version no gets '1.15.00 2000.08.29'
2000-08-29 15:10:14 +00:00
wdk 35871e7996 Report memory sizes using format_bytes(9) kernel function 2000-08-29 12:12:59 +00:00