Commit Graph

23993 Commits

Author SHA1 Message Date
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
wdk
149a5fc5f2 Engage the clutch before changing gears.
If the machine uses a Z85230 ESCC device with deep buffers, we observe
output glitches when printing the zstty{0,1} probe lines when the device
is reset & reprogrammed during startup.

There is no easy 'hook' in the MI Z8530 driver, so we wait for output
buffer to drain before changing the baud rate generator prescaler value.
2000-08-29 11:25:08 +00:00
wdk
5656bdea79 Don't trust the realtime clock if the data is before 1988. This is
consistant with other ports.

Prevent uninitialized time from being written back to the RTC (1-Jan-1970)
if the machine is halted from the root device name prompt
(bootflags & RB_ASKNAME)
2000-08-29 10:34:13 +00:00
wdk
aaa3f11967 Fix an obscure bug with dump corrupting files during raw reads.
If the DMA chaning interrupt couldn't be serviced immediately (higher spl
level when kernel doing something else) a few microseconds later the NCR
controller will fill its FIFO and also interrupt the CPU.

The SCSI interrupt sees the terminal count has been reached, calls
asc_dma_intr to finish the job off.   The FIFO cannot be flushed because
the block count hasn't been setup for the last dma segment (DMA chaining
still wasn't serviced).

Since the NCR 53c94 FIFO is only 16 bytes in size, any short DMA in this
size combined with the machine 'doing something else' causes the problem
to occur.

Servicing the DMA chaining interrupt before the NCR SCSI interrupt solves
this problem.

Add tests to ensure the DMA FIFO has been flushed correctly at the end of
each DMA operation just to be on the safe side.
2000-08-29 08:24:06 +00:00
pk
55af96281e Pull down from 1.4 branch: default relocation address = 3E0000 2000-08-28 19:10:31 +00:00
eeh
bbede65f5b Fix E250 identification. 2000-08-28 18:01:23 +00:00
tsubai
f671e87235 Add an argument to need_resched macro. 2000-08-28 11:52:59 +00:00
tsubai
077c9ca312 Enable hash filter mode. 2000-08-28 11:27:44 +00:00
sato
2a9cfc2e99 add pwctl PWCTL_LCD, PWCTL_LCDLIGHT for NEC_MCR_FORDOCOMO, NEC_MCR_500. 2000-08-27 22:56:31 +00:00
matt
4027af140c Make the pmap: enter on myself panic conditional under DIAGNOSTIC 2000-08-27 17:14:44 +00:00
ragge
fa53886b69 Wiring of a page were done at the wrong place, so pages in kernel space
never got the wired bit set. This caused panics if a swapped out process
was swapped in again and the kernel stack had not yet been unmapped.
While here, add a forgotten lock initializer.
2000-08-27 14:14:50 +00:00
is
115bd3b350 Replace one callout handler by using a timeout in tsleep().
1.4.x version of it submitted by Ingolf Koch; translated to 1.5-ish by
myself.
2000-08-27 10:35:43 +00:00
matt
98e5e148fa Since cpu_switch (aka Swtch) is now called at splsched() with sched_lock
locked, cpu_exit needs to do that too.  Since in the lock debug case we
have to use a CALLS which wipes out R0-R6, change the convention for Swtch
so that the proc is passed in R6 and that R6 is clobbered.  This is so
Swtch itself doesn't have to save/restore the proc pointer explicitly.
2000-08-27 00:21:46 +00:00
minoura
cbac1a91d9 Add #ifdef _KERNEL ~ #endif to protect kernel variables from userland. 2000-08-26 23:23:43 +00:00
minoura
33f305090e Set fputype earlier, before proc0 initialization. 2000-08-26 23:04:44 +00:00
eeh
a0f2ab32f7 Make 64-bit clean. 2000-08-26 16:02:06 +00:00
matt
5c62e0cab4 Fix the idle loop. 2000-08-26 15:13:23 +00:00
thorpej
9eed6192a2 Un-transpose some characters in an abbreviation. 2000-08-26 06:58:25 +00:00
matt
7e0ad8b0c2 Update to reflect new processor switching conventions w/ LOCKDEBUG
and MULTIPROCESSOR
2000-08-26 03:38:46 +00:00
thorpej
0ba350214f Thinko in previous. 2000-08-26 03:33:49 +00:00
thorpej
2af5e3861c Fix a couple of typos in previous. 2000-08-26 03:32:36 +00:00
thorpej
0e04909346 Snapshot of TLB shootdown bugfixes. 2000-08-26 03:27:44 +00:00
matt
fc1511e910 add a COMPAT_15 and remove TCP_COMPAT_42 2000-08-26 02:32:57 +00:00
matt
3fec8167d3 Reverse polarity on INSN_EMULATION to NO_INSN_EMULATION. Thus by default
all kernels will have instruction emulation.
2000-08-26 02:30:59 +00:00
bjh21
7c9498f7cb Move setsoftast() and friends into cpu.h and make them into macros, so arm26
is the same as every other port (except arm32).
2000-08-25 16:43:46 +00:00
tsubai
308d7eb3e4 Add (experimental) awacs audio driver. Output (play) only. 2000-08-25 12:44:42 +00:00
bjh21
36f4367186 <machine/spl.h> -> <machine/intr.h> (missed this one last time) 2000-08-25 10:37:58 +00:00
pk
baa6bfe332 The `fb' device is optional. 2000-08-25 08:12:49 +00:00
matt
3351f4cf4b Need <bsd.own.mk> for OBJECT_FMT. 2000-08-25 03:51:34 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
eeh
61197aa4f0 Add workaround for E250s. 2000-08-24 22:00:04 +00:00
nathanw
5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
ragge
5796505d43 Fix after %b fixes. 2000-08-24 13:12:25 +00:00
msaitoh
b78abd33dc KNF 2000-08-24 11:35:16 +00:00
uch
97749b6bb4 don't refer cf_unit.
undef __BROKEN_CONFIG_UNIT_USAGE
2000-08-24 11:19:19 +00:00
uch
2111496e74 Rewrote TX39 series cache routines. 2000-08-24 05:31:59 +00:00
eeh
5ca48b896d Update the scheduler to the new locking scheme. 2000-08-23 21:35:56 +00:00
jhawk
2ea44b1dd4 install dosboot.com in the release(7) hierarchy. 2000-08-23 21:00:46 +00:00
wrstuden
4678e2bb87 Correctly spell DRIVER. Noted by Tsubai. :-) 2000-08-23 19:15:25 +00:00
bjh21
acb0541a4b Use symbolic names for interrupt lines. 2000-08-23 17:28:51 +00:00
pk
7c10808744 Use common fb.c from sys/dev/sun. 2000-08-23 13:41:58 +00:00
tsubai
5558e41363 New PowerBook (firewire) seems to use edge-triggered interrupt.
XXX cannot hot-plug yet
2000-08-23 12:18:17 +00:00
pk
194a6c2d97 remove pfourreg.h. 2000-08-23 12:08:16 +00:00
pk
408d2f01d0 Brooktree DAC support now lives in sys/dev/sun. 2000-08-23 10:08:48 +00:00
pk
837ef2bae6 This driver is now in sys/dev/sbus. 2000-08-23 10:07:46 +00:00
pk
aa81eb0f8b This file is now in sys/dev/sun. 2000-08-23 10:07:25 +00:00
pk
c85ada8053 These drivers are now in sys/dev/sun 2000-08-23 10:05:46 +00:00
scw
da7dfaefcc Though the VMEchip2 documentation is not explicit on the subject, a
VMEbus analyser confirms that D8 transfers are possible on all the
master ranges.
2000-08-23 08:13:14 +00:00
pk
317a570728 These devices will never be found on sun4u machines. 2000-08-22 21:43:35 +00:00
pk
1e1790859a Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}
2000-08-22 21:35:45 +00:00
pk
91f1b275c9 Remove driver declarations that are now in /sys/dev/{sbus,sun} 2000-08-22 21:29:49 +00:00
pk
702e1dd9e6 Use the framebuffer drivers & header files that now live in /sys/dev/sun. 2000-08-22 21:28:24 +00:00
bjh21
769e82477f Move contents of <machine/spl.h> to <machine/intr.h>.
Add IST_* macros to <machine/intr.h>, mostly for the feature-list tickbox.
Generally tidy up.
2000-08-22 21:27:21 +00:00
bjh21
6e3e3a755d Don't include <machine/spl.h> any more.
Include <machine/intr.h> everywhere than uses spl(9) functions.
2000-08-22 21:22:48 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
leo
67f170f93c Need to specify BINDIR or the executable ends up in / 2000-08-22 14:26:04 +00:00
abs
02a00854f4 Diet a little to help fitting onto a floppy 2000-08-22 13:36:14 +00:00
wdk
caa807ac35 * Tidy up reading of Mips volume header information
All compatable values are copied from the MIPS volume header to the
  BSD disklabel structures.

* Add support for writing Mips volume header.

* Remove support for writing NetBSD label directly (this was broken)

These changes allow the kernel to read either a BSD disklabel created under
NetBSD/sparc or a MIPS volume header created under RISC/os.

There is a small amount of losage with the conversion between the 2
types of disk labels (mainly to do with file system types).
A table is used to map partition numbers and types between the two
types, and unless someone does something real fancy (or crazy) it should
work in both senario's

This change will allow the stand alone shell to directly load a NetBSD
kernel and mount a file system, avoiding the need for a seperate disk or
bootp server to bootstrapping NetBSD.

NetBSD/mipsco is now self sufficiant.  We are not far from having a
miniroot filesystem and removing the need to have another NetBSD
machine to create the base filesystems.

Minor Trap for young players:
   The root partition must be created with 'newfs -O' in order for the
   stand alone shell to boot the kernel

TODO:
   Add support for writing NetBSD disk labels back in - it will be useful
   for non boot disks.   I'm just not sure how to control the 2 behavours
2000-08-22 11:59:34 +00:00
tsubai
eaa177d2f1 Add a missing entry to chrtoblktbl. 2000-08-22 11:48:23 +00:00
tsubai
f406aae2d2 MD part of mcount. 2000-08-22 11:25:49 +00:00
joda
71cabc49dd (rbus_pccbb_parent_mem): make the rbus minimum start address
configurable (RBUS_MIN_START), since default value of 1GB doesn't work
well on some ThinkPads
2000-08-22 08:42:55 +00:00
erh
df316aa06c Change the heap limit from 40000 to 50000 so the heap is the same size as it was before the "Hack from Hell'. 2000-08-22 02:46:30 +00:00
scw
72f826d727 A VMEbus RAM board configured for use by mvme68k can now be
treated as just another available VMEbus slave image as far as
bus_dma(9) is concerned.

To preserve faster onboard memory, mvmebus_dmamem_alloc() will
allocate first from the offboard VMEbus RAM slave image if present,
and assuming its address modifier matches the caller's constraints.
This can be overidden by specifying the BUS_DMA_ONBOARD_RAM flag.
2000-08-21 20:50:13 +00:00
tsubai
365ec2aa42 Scheduler locking changes. 2000-08-21 18:46:03 +00:00
bjh21
a776e1268d General cleanup of definitions of translation table stuff.
Also add PPN[8] for the A540.  Now all I need are two more RAM cards for my
A540 so I can test it.
2000-08-21 14:37:51 +00:00
itohy
5755dca55d Fix typos.
No functional changes.
2000-08-21 07:39:42 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
thorpej
2648536e0c Add experimental code for pausing other CPUs upon a CPU's
entry into the debugger.  While I'm here, add splsched()
as per spl(9).
2000-08-21 02:03:12 +00:00
scw
3cac59ee4f Expand on how VMEbus master addressing modes are specified, to better
deal with dynamic address modifier generation based on the CPU's
function code pins.

Also implement VMEbus slave mode for mvme147. (Not yet 100% working.)
2000-08-20 21:51:31 +00:00
thorpej
a86d1f4891 Add a lock around the scheduler, and use it as necessary, including
in the non-MULTIPROCESSOR case (LOCKDEBUG requires it).  Scheduler
lock is held upon entry to mi_switch() and cpu_switch(), and
cpu_switch() releases the lock before returning.

Largely from Bill Sommerfeld, with some minor bug fixes and
machine-dependent code hacking from me.
2000-08-20 21:50:06 +00:00
scw
3f2adcb2b0 Checkpoint of code to add VMEbus slave support using vme_dmamap* and
vme_dmamem*.

This is still a work in progress, but seems to DTRT on mvme167 so far.

TODO:
	. Get VMEbus slave mode going on mvme147. This should be easy.
	. Fix up the A16 slave mappings.
	. Bounce buffer support. (Messy, but pretty much a `must have'.)
	. Figure out how to deal with `location monitor' interrupts
	  within the framework. (Useful for Busnet, among other things.)
	. It would be nice to make use of the VMEchip2's DMA facilities...
2000-08-20 17:07:41 +00:00
bjh21
567f2768d1 Implement the easy ptrace requests and turn off the difficult ones. 2000-08-20 15:16:49 +00:00
mrg
e144281c4e move ofwboot & bootblk here; add a Makefile to build ofwboot.net 2000-08-20 14:58:36 +00:00
mrg
85737336b4 add/merge sparc64 support. 2000-08-20 14:57:16 +00:00
mrg
9bea0e1a52 fix ultrasparc support. 2000-08-20 14:56:28 +00:00
mrg
b74059e5cf move everything to arch/sparc/stand; leave the Makefile behind. 2000-08-20 14:53:19 +00:00
mrg
651a58c846 add SOFTDEP 2000-08-20 14:51:56 +00:00
pk
4ec48d799f fbio.h moded to sys/dev/sun.
Retain symlink from /usr/include/machine.
2000-08-20 14:02:59 +00:00
bjh21
ba6517aa9c Adjust register spacing to take A0 into account. This should make supporting
8-bit uses of the 8005 (such as, I suspect, 8-bit Ether3 cards) easier.
2000-08-20 13:43:23 +00:00
bjh21
ef49e5cd42 Exclude cpu_Debugger if DDB is not defined. 2000-08-20 13:41:44 +00:00
tsubai
31ec486214 Correct asm parameter to avoid gcc uninitialized warning. 2000-08-20 07:48:45 +00:00
tsubai
1267826d5d Increase stack size. 2000-08-20 07:04:59 +00:00
tsubai
58aaeaae7f In decr_intr(), update lasttb only when clock interrupt is not masked. 2000-08-20 07:02:41 +00:00
tsubai
d832bf8e95 Add "type" argument to openpic_enable_irq(). 2000-08-20 06:56:42 +00:00
thorpej
dd87a44f4a Initialize PV head simple locks, done slightly differently than
in the sommerfeld_i386mp_1 branch.
2000-08-19 19:48:53 +00:00
wdk
9ac68bcb51 - Add support for calling most prom firmware functions
- Using the prom getenv function determine the correct console port

- Remove old prom function hooks

- Tidy up bootflags (remove upper case names, fixup RB_ASKNAME) as
  recommended by Jaromír Doleèek
2000-08-19 12:13:46 +00:00
wrstuden
17c0d4d853 Add some new partition types, and flags. Have the Apple Partition Map
code ignore the new partition types, and look for the new "USR" partition
flag.

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

Closes PR port-macppc/10046
2000-08-18 22:40:28 +00:00
bjh21
cc396125ae Add support for clearing IRQ 0, which is latched by the IOEB (on IOEB systems). 2000-08-18 12:50:00 +00:00
sato
d5b133164a - disable warning: add missing argument. 2000-08-18 07:33:14 +00:00
bjh21
a81231398b Oops. Remember to close the comment! 2000-08-17 22:09:10 +00:00
wdk
702ec79b19 #include <mips/locore.h> no longer required since implementing bus_space(9)
remove unused extern variable that is never used in mipsco port
2000-08-17 21:26:34 +00:00
bjh21
6bc85d382a Add cdevsw entries for bpf, tun, com, lpt. 2000-08-17 16:31:52 +00:00
bjh21
7fd0191223 Hard-wire the unit number of the on-board wdc so podules don't confuse it.
Add commented-out wd, atapibus etc in GENERIC and FOURMEG.  Not yet tested.
2000-08-17 13:38:51 +00:00
msaitoh
4a9013cf38 add code to mask mmucr register (SH4 only)
I'm sorry, I'd forgotten to commit it for a long time.
2000-08-17 13:13:28 +00:00
msaitoh
a8fe4a6776 check INTEVT_SCIF (SH4 only)
I'm sorry, I'd forgotten to commit it for a long time.
2000-08-17 13:07:51 +00:00
wdk
b9333bd4e7 Check for memory aliases when sizing physical memory. Remove 32MB memory
restriction.

Tested with 32 x 1MB SIMM's plus mix of 4MB and 1MB SIMM's to ensure the
aliases is detected in all memory configuratiions.
2000-08-17 05:05:01 +00:00
msaitoh
7369c6d979 add an INTEVT code for WDT 2000-08-17 00:01:53 +00:00
bjh21
999646a30b Add some extra levels for MI drivers. 2000-08-16 23:58:29 +00:00
bjh21
d7eebd9227 Basic driver for CHIPS 82C710 Universal Peripheral Controller and friends,
as used on later arm26 system (A5000, A4, A3010, A3020, A4000).

What we have got:
...
upc0 at iobus0 base 0x010000: config state bb 87 1c 00 00
fdc at upc0 offset 0x3f4 not configured
wdc0 at upc0 offset 0x1f0
lpt0 at upc0 offset 0x278
com0 at upc0 offset 0x3f8: ns8250 or ns16450, no fifo
...

What we haven't got:
 - FDC support (found, but not configured).
 - Clearing lpt interrupts on arm26 systems (needs help from IOEB).
 - A upc(4) manual page.
 - More than minimal testing (my A3020s don't have root devices).
 - A proper probe routine (arm26 can't use one anyway).
2000-08-16 23:56:08 +00:00
wdk
4cad781e16 Parse bootflags and attempt to find the root device from the boot command line 2000-08-16 21:54:43 +00:00
wdk
bf69eb6def Trap and report memory parity errors 2000-08-16 21:00:39 +00:00
pk
1f76e23f2c Drop two #ifdef SUN4U's, since sparc{64}/include/instr.h' are now synced. 2000-08-16 11:36:36 +00:00
pk
d48d0665e9 Sync with sparc64. 2000-08-16 11:30:38 +00:00
pk
814e226e9d Fix two printf formats: %ld' -> %d'. 2000-08-16 11:29:42 +00:00
mrg
ac5a03b4eb find loadfile_machdep.h on sparc64. 2000-08-16 08:24:01 +00:00
mrg
286b5c3fbf backout previous; unintentional. 2000-08-16 08:21:52 +00:00
mrg
ecd972e9cb include the sparc loadfile_machdep.h as-is; we can blow this header away
completely later.
2000-08-16 08:17:49 +00:00
mrg
3eeab3822d deal with 64 bit ELF 2000-08-16 08:16:58 +00:00
thorpej
b0dc085df7 Move the TSS selector out of the PCB and put it into mdproc. We
need to access this when we have the proclist locked for reading,
and thus cannot store it in the PCB (which may be swapped out).

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

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

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

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

   Suggested by:  Jason Thorpe and Toru Nishimura

*  Fixup the indenting in a few places to conform to NetBSD style
2000-08-15 04:56:45 +00:00
wdk
374fb8efbc Decrement the block count to compensate for 64 bytes prefetched to fill
the DMA FIFO on non block aligned writes.   Not doing this causes large
writes (>4k) that are not aligned to incorrectly write 64bytes
of data every 4k interval.   This only occurs on raw devices - typically
newfs fails to create a clean filesystem.
2000-08-14 21:04:44 +00:00