Commit Graph

24485 Commits

Author SHA1 Message Date
soren
d1b07f4fee Same as sys/dev/md_root.c. 2000-11-21 00:17:08 +00:00
soren
36ae7c2b02 Use dev/md_root.c. 2000-11-21 00:16:33 +00:00
soren
263f913967 Remove obsolete comment. 2000-11-21 00:15:20 +00:00
thorpej
f595d8e741 Ooops, do the last only if MULTIPROCESSOR. 2000-11-20 21:18:07 +00:00
thorpej
13c94ca56c We've fixed enough bugs that we can actually acquire the scheduler
lock, jump into the idle loop, and run user code!  Yippee!
2000-11-20 20:40:17 +00:00
thorpej
b37faa6ca5 Protect microtime_slock appropriately. 2000-11-20 20:37:52 +00:00
thorpej
e12f731db5 On the Alpha, interprocessor interrupts come in at the same priority
as normal device interrupts.  Because of this, we won't get IPIs while
servicing such interrupts.  This can lead to the following deadlock
scenario as reported by Bill Sommerfeld:
- Process runs on cpu1, but has FP state on cpu0.
- Process executes FP-using insn, causing an FP trap, which causes
  the kernel lock to be acquired.
- At roughly the same time, cpu0 receives a device interrupt, and attempts
  to acquire the kernel lock, which blocks since cpu1 already has it.
- cpu1 sends cpu0 a SYNCH FPU IPI, and waits for cpu0 to release its
  FP state.
- Since cpu0 cannot notice the IPI until it has processed the device
  interrupt, which it cannot do because it cannot acquire the kernel
  lock, we have deadlock.

Solve the problem by adding a spinlock interlock release hook which
checks for pending IPIs and processes them.

Idea from Bill Sommerfeld.
2000-11-20 20:17:13 +00:00
jdolecek
0630488eda fix typo 2000-11-20 20:07:36 +00:00
jdolecek
3b15e411a3 add moxa0 at isa entry, marked as experimental
This was not added also to other config files primarily because the
driver is not properly tested yet; this entry is primarily meant as an example
for those brave souls who want to try moxa.
2000-11-20 19:53:43 +00:00
scw
b6f0a678dd Add support for the m68060-based machines: MVME-172 and MVME-177.
CPU support taken from a combination of NetBSD/amiga and NetBSD/x68k.

At this time, MVME-172 works but MVME-177 is untested. Since the '177
is otherwise identical to the MVME-167, this should *just work*.
2000-11-20 19:35:28 +00:00
thorpej
fdfb847e3e Make ci_ipis volatile. 2000-11-20 19:25:43 +00:00
thorpej
7f059c8e69 Move IPI processing into a separate function. 2000-11-20 19:24:36 +00:00
thorpej
5a22e57dc3 Print the CPU ID while dumping trap info. 2000-11-20 15:33:39 +00:00
tsubai
11b48d8a4d Thermal Management Interrupt is available on 750, too. 2000-11-20 15:16:04 +00:00
tsutsui
2cd77d5700 Fix swapped keycode for '[' and ']'. 2000-11-20 14:55:15 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
thorpej
2f1e131332 Delete a block of code that was intended to get the second
CPU to handle interrupts, but prevents a whole slew of things
from working properly on the second CPU.  It is no longer
necessary now that several other bugs have been fixed.
2000-11-20 03:15:15 +00:00
thorpej
fe5b367ce6 In Idle(), only switch to the idle PCB if we're not already running
on it, and make sure to deactivate the old process's address space,
as this will not otherwise be done by cpu_switch() later once we're
on the idle PCB.

Also, update some comments related to when s0 (i.e. the old process)
is NULL in the context switching code.
2000-11-20 02:44:45 +00:00
soren
046ce58634 Enable com at cardbus. 2000-11-20 02:00:46 +00:00
jdolecek
2faa9db8c1 cosmetic change in brand string handling (NULL vs. "")
drop Xeon from PIII Cascades entry, it should be handled by the brand id
support (pointed out by Scott Telford in private e-mail).
2000-11-19 23:38:22 +00:00
matt
95a8447ccf Add G4 specific exceptions (include AltiVec). 2000-11-19 20:48:20 +00:00
matt
bb71a6b332 Add AltiVec VSCR definitions. 2000-11-19 20:41:04 +00:00
sommerfeld
2a0dca4bec Correct conditionalization of last change. 2000-11-19 20:11:12 +00:00
sommerfeld
8074b0b0b2 MULTIPROCESSOR: context switch to cpu's idle pcb before unlocking the
scheduler in idle so our stack doesn't get stolen out from underneath us.
2000-11-19 20:08:36 +00:00
sommerfeld
c0c9c552c0 Fix obvious typo (don't mark current cpu as not running when doing a
broadcast IPI).
2000-11-19 20:05:25 +00:00
matt
b1e1cfdb4a Add AltiVec VEC bit. 2000-11-19 19:52:37 +00:00
thorpej
87819535b2 Synch cpu_hatch() with the i386:
- print the same style message when the CPU is running.
- Initialize ci->ci_schedstate.spc_runtime on the CPU.
2000-11-19 19:18:19 +00:00
thorpej
69a3a857be As a temporary measure, protect microtime() with a simple lock.
XXX Needs to be rewritten from scratch.
2000-11-19 19:16:44 +00:00
mrg
5d04f7b69d update to reality. sync with GENERIC32. 2000-11-19 15:23:55 +00:00
mrg
1368967d8c fix some comments. 2000-11-19 15:22:51 +00:00
tsutsui
ae33b9bc92 More cosmetics.
BTW, why these two "generic" config files exist?
2000-11-19 14:23:34 +00:00
tsutsui
d805c3822e Remove "rnd is EXPERIMENTAL" comment. 2000-11-19 14:14:31 +00:00
tsutsui
523ec808a6 - Add bba* at ioasic?
- Some cosmetics
2000-11-19 14:10:56 +00:00
tsutsui
13c5a51b02 Add some newer stuff from GENERIC and enable rnd. 2000-11-19 14:03:39 +00:00
tsutsui
f6c12f31f0 Sync with GENERIC. 2000-11-19 13:46:29 +00:00
thorpej
b9ad1f75b9 Make VM_MAX_KERNEL_ADDRESS end on a page boundary. 2000-11-19 03:16:55 +00:00
thorpej
561db1fb7e Implement pmap_growkernel(). 2000-11-19 03:16:34 +00:00
mrg
e97f9e9f7a use OpenFirmware, not prom version 0, operations. eeprom(8) works now. 2000-11-18 23:45:05 +00:00
mrg
a2ea64e265 sync with sparc port. add support for OF_setprop(), OF_nextprop(),
OF_interpret() and OF_milliseconds().
2000-11-18 23:43:06 +00:00
scw
a29dff3290 Fix a braino in the last commit. 2000-11-18 22:46:07 +00:00
scw
4b0eb0e2dd Allow a degree of tolerance when calculating the baudrate timing constant. 2000-11-18 22:34:25 +00:00
tsutsui
ed94d05b50 Clear %fp to terminate backtrace on gdb. 2000-11-18 20:46:28 +00:00
soren
60239485e8 Some CRIME definitions. 2000-11-18 19:33:49 +00:00
soren
4227c8ce3a Use ETHER_ADDR_LEN. 2000-11-18 19:32:34 +00:00
thorpej
137c030d5b Count individual interprocessor interrupts -- it's good to know where
they all come from.
2000-11-18 19:25:35 +00:00
thorpej
34f24f4819 Make sure that the cpu_info points at the correct softc on
single-processor kernels running on multi-processor systems.
2000-11-18 17:45:31 +00:00
sommerfeld
859adc84de Loading the cpu_info value into the kgp for the new cpu isn't likely to work
very well.
2000-11-18 16:21:37 +00:00
lukem
9f10280ff3 OF_nextprop(): change 'char *nextprop' -> 'void *nextprop', in line with
pk's change to sys/dev/ofw/openfirm.h rev 1.15.
2000-11-18 12:15:50 +00:00
thorpej
73265fa0c9 Duh, don't need SGMAP-related includes on this chipset. 2000-11-18 05:56:20 +00:00
mrg
d6d4159b1a s/register// 2000-11-18 03:52:50 +00:00
mrg
40095eb6a1 struct pcb's lastcall is const char * 2000-11-18 03:51:14 +00:00
mrg
0485f611f1 remove dead debugging code. 2000-11-18 03:49:38 +00:00
lukem
a687c7deac pull up stuff changed in GENERIC from 1.370 - 1.377, appropriately
commented out if it's not relevant to a laptop
2000-11-18 02:08:30 +00:00
mrg
215d0d2dcd pull over from sparc port's mem.c:
>revision 1.26
>date: 2000/11/13 15:31:44;  author: pk;  state: Exp;  lines: +10 -1
>Detect "EOF" conditions on the memory-special files.
2000-11-17 23:18:53 +00:00
thorpej
72a145bd5e I have long since upgraded the boot block on my test system. (Actually,
I have an entirely different test system now.)
2000-11-17 22:47:30 +00:00
matt
b605c997e2 Commit changes to SCSI working on the VS4000/9x. "Don't overthink the
plumbing!  Duh!".
2000-11-16 19:25:40 +00:00
scw
d00258d484 bus_dmamem_map() expect a cpu-relative physical address... 2000-11-16 19:12:20 +00:00
thorpej
40460ae8eb Need to provide CACHELINESIZE in _STANDALONE environments, too. 2000-11-16 19:02:33 +00:00
jdolecek
97669de104 make i386_nocpuid_cpus[] and i386_cpuid_cpus[] const - this pushes
another ~1.4KB to text section
2000-11-16 17:00:17 +00:00
jdolecek
def6d1b4ac Newer Intel PIII processors also make available Brand ID value through
cpuid instruction, which is used to differentiate between Celeron, common PIII
and PIII Xeon; recognize it and print appropriate info if applicable

Information taken from Intel's (R)
Intel Processor Identification and the CPUID Instruction, AP-485
2000-11-16 10:19:02 +00:00
jdolecek
a9ad986a90 Update cpuid table according to information sent by Scott Telford
in port-i386/11502, with only sligh change for Coppermine entry -
cpus with family 6, model 8 are not all Celerons, they can be
either common PIII, Xeon or Celeron
2000-11-16 09:06:17 +00:00
matt
9dd26cf7c4 It's hfs.c, not hfs. Add -I${.CURDIR} for objdirs. XXX hfs.c should
be integrated into libsa.
2000-11-16 07:36:04 +00:00
scottr
4db27b3da4 Enhance readability through consistent function parameter names and KNF.
There are no functional changes.
2000-11-16 07:04:12 +00:00
thorpej
d96bb89daf Use <powerpc/powerpc/trap_subr.S> 2000-11-16 05:34:03 +00:00
thorpej
216902b8d2 Trap routines from the macppc port, to be used by other PowerPC
ports (only amigappc's differs).
2000-11-16 05:33:04 +00:00
thorpej
eb04d01500 Add an lcsplx() ("splx for locore") like the other PowerPC ports
have.  This will allow us to share locore code with them.
2000-11-16 01:56:05 +00:00
scw
598ce19336 Doh! Revert all but the baudrate clock changes from that last commit;
a bunch of local stuff crept in.
2000-11-15 21:32:03 +00:00
jdolecek
ea9f7ed6d5 introduce SIGACTION_PS() macro - this is similar to SIGACTION(), but works
for (struct sigacts *) instead of (struct proc *)
2000-11-15 21:13:58 +00:00
thorpej
e6fa7f2fc8 Move the ISA DMA cookie into isadma_machdep.c. 2000-11-15 19:31:35 +00:00
thorpej
9298fd52fc Garbage-collect some more stuff. 2000-11-15 19:30:10 +00:00
pk
521b17daa6 Adjust OF_setprop() prototype. 2000-11-15 16:15:01 +00:00
pk
4a80a32735 Adjust setprop() prototype to match the one in dev/ofw/openfirm.h 2000-11-15 16:14:13 +00:00
pk
439b4b325a OF_getproplen(), OF_nextprop() and OF_setprop() prototypes are now in
dev/ofw/openfirm.h
2000-11-15 16:13:10 +00:00
pk
11eb59d511 Adjust setprop() prototype to match that in dev/ofw/openfirm.h 2000-11-15 16:12:01 +00:00
tsubai
ced4cea08e Fix an uninitialized variable reference. 2000-11-15 15:01:14 +00:00
tsubai
654fcfa344 Remove an unused variable. 2000-11-15 14:43:44 +00:00
tsubai
0d339b0df5 Screen console works now. 2000-11-15 14:29:40 +00:00
tsubai
9b85cc40d4 Keyboard and mouse support for news5000. 2000-11-15 14:04:05 +00:00
scottr
96cb29b773 As was the original intent a long, long time ago -- but in this galaxy, and
in fact on this planet -- generate a SIGILL for user-mode A-line traps.
The core of this change is taken verbatim from PR 10511, submitted by
Christian Bauer.
2000-11-15 07:15:36 +00:00
scottr
1609858811 The Cuda-based ADB hardware has the ability to queue some commands and
return control to the main CPU before completing the ADB transaction.
Double the adb_op_sync() timeout as a result.  Fixes PR 11310.
2000-11-15 06:35:51 +00:00
enami
038ca0a146 Make isa_machdep.c compile again. 2000-11-15 02:00:31 +00:00
enami
1ef516e9be Pull in uvm_extern for PAGE_SIZE. 2000-11-15 01:59:35 +00:00
thorpej
b84f740be0 Move bpfattach()/bpfdetach() calls into ether_ifattach()/ether_ifdetach(). 2000-11-15 01:02:11 +00:00
matt
960800cbb8 Convert some spaces to tabs. 2000-11-15 00:49:31 +00:00
matt
e720f8addf Add MFS and vnd. 2000-11-15 00:46:35 +00:00
matt
dbe8de94a8 back out my change powerpc/conf/files.ofw. Enable the inclusion of
dev/ofw/files.ofw on macppc.  Add openfirm to ofppc/conf.c
2000-11-15 00:39:31 +00:00
matt
39dc5fc58b Add openfirm pseudo-device. 2000-11-14 23:42:35 +00:00
thorpej
990d23039d NBPG -> PAGE_SIZE. 2000-11-14 22:55:51 +00:00
thorpej
ec0069dd37 NBPG -> PAGE_SIZE 2000-11-14 22:55:05 +00:00
matt
8ba706bdfd Add rnd & openfirm to POWERMAC
Add openfirm and commmented-out firewire stuff to GENERIC
2000-11-14 22:33:24 +00:00
matt
ca735c9a04 Add initial support dual-CPU G4. At least finds 2nd CPU. 2000-11-14 21:55:25 +00:00
matt
6e88c0d0d6 Add a openfirm entry to conf.c 2000-11-14 21:46:09 +00:00
matt
58645ba248 Add support for /dev/openfirm.
Add OF_nextprop support.
2000-11-14 21:22:43 +00:00
pooka
56d104de33 add I2O to make config work again 2000-11-14 20:28:22 +00:00
augustss
eb9736c09a Add uscanner. 2000-11-14 19:52:04 +00:00
thorpej
fb50850754 We use 4K VM pages on the VAX. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:49:57 +00:00
thorpej
eff2f3d04f We use 4K pages on the x86k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:47:25 +00:00
thorpej
c9ff0b7af1 Sun3 and Sun3x both use 8K pages. Make PAGE_* and friends into
compile-time constants.
2000-11-14 19:34:26 +00:00
thorpej
fc082857f5 '532 has 4K pages. Make PAGE_SIZE and friends into compile-time
constants.
2000-11-14 19:31:51 +00:00
thorpej
3d2726d992 We use 4K pages on the NeXT. Define PAGE_SIZE and friends to be
compile-time constants.
2000-11-14 19:29:00 +00:00
thorpej
091d40d586 We use 4K pages on the news68k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:23:07 +00:00
thorpej
ecf0470012 We use 4K pages on the mvme68k. Override PAGE_SIZE and friends to
be compile-time constants.
2000-11-14 19:12:58 +00:00
thorpej
9f60ecd809 We use 4K pages on the mac68k. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:07:34 +00:00
thorpej
186d9e105e We use 4K pages on the hp300. Make PAGE_SIZE and friends
compile-time constants.
2000-11-14 19:03:22 +00:00
thorpej
e6da7eebba We use 8K pages on the Atari. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 19:01:09 +00:00
thorpej
f74dfc7755 We use 8K pages on the Amiga. Make PAGE_SIZE and friends into
compile-time constants.
2000-11-14 18:58:29 +00:00
thorpej
cb38ab39ab We use 4K pages on MIPS systems (see mips_param.h), so override
PAGE_SIZE and friends to be compile-time constants.
2000-11-14 18:55:16 +00:00
thorpej
10b31e1ebc The i386 page size is fixed -- override PAGE_SIZE, et al, so that they
are compile-time constants.
2000-11-14 18:01:54 +00:00
tsubai
f744e6327a Correct VRAM size. 2000-11-14 15:32:03 +00:00
kleink
a5a6bbd1a8 Defopt BLINK. 2000-11-14 11:34:51 +00:00
tsubai
e3ae93dfd4 Add hfs support. Currently this layer simply throw the request to the OF
(and the OF recognizes HFS).
2000-11-14 11:25:34 +00:00
matt
edc0af8cd3 Add OF_nextprop and required conf-glue for /dev/openfirm. 2000-11-14 07:13:02 +00:00
thorpej
45804ccf0e A respectable GENERIC, loosely based on the macppc GENERIC. 2000-11-14 06:01:09 +00:00
tsubai
03fa172a01 No longer used. 2000-11-13 19:05:58 +00:00
abs
d72a269feb If we only ever have a strongarm CPU, use
makeoptions    COPTS="-O2 -march=armv4 -mtune=strongarm"
some files previously had
	makeoptions    COPTS="-O2 -march=strongarm -mtune=strongarm"
some had no option at all
2000-11-13 18:40:34 +00:00
tsubai
a564a7a2a9 Switch to wscons. 2000-11-13 16:48:41 +00:00
jdolecek
ec93c3dd25 when evaluating CPU speed, make the wait 0.1s instead of 1s - the accuracy
difference is like 0.008% on my system and the delay is now almost unnoticable:)
Discussed with Jason Thorpe, Frank van den Linden.
2000-11-13 16:40:40 +00:00
pk
db6832a4b6 Detect "EOF" conditions on the memory-special files. 2000-11-13 15:31:44 +00:00
minoura
21e684b743 New line discipline. 2000-11-13 15:20:28 +00:00
minoura
fd524293aa Look at opt_m680x0.h to determine whether to use -m68060 compiler option,
since options M68060 (etc.) is now defopt'ed.
Pointed out by NISHIMURA Takeshi <nsmrtks@comd.nara.sharp.co.jp>.
Use -m68020-60 instead of -m68060 to ensure not to use new instructions.
2000-11-13 14:47:14 +00:00
pk
84ee07379b Remove left-over turds from previous __P() cleanup. 2000-11-12 21:07:21 +00:00
mycroft
63270df506 Sync with GENERIC. 2000-11-12 06:52:37 +00:00
pk
258784289c This file is no longer needed; it's superseded by the MI mk48xx driver. 2000-11-11 12:34:22 +00:00
pk
d80d0a8b06 Print host ID in hex. 2000-11-11 12:24:07 +00:00
pk
f88b137bd5 De-__P() this file. 2000-11-11 12:19:20 +00:00
pk
53c656364f Switch to MI mk48xx and intersil7170 time-of-day clock drivers. 2000-11-11 12:14:03 +00:00
pk
109cb0fd5e Rename storage for the sun4 idprom structure to `sun4_idprom_store'. 2000-11-11 12:12:46 +00:00
scw
d7b439dff5 udp.c is now needed in SRC_sa. 2000-11-11 11:36:17 +00:00
pk
0d4a68ac9b Pull in the mk48txx and intersil7170 drivers. 2000-11-11 11:19:52 +00:00
sato
47ee1d1c1f update vrc4172 pwm unit codes.(but not yet completly) 2000-11-11 10:08:12 +00:00
tsutsui
96deb0588d Reduce NKMEMPAGES_MIN_DEFAULT. 2000-11-11 09:05:09 +00:00
sato
c8c49f7222 - vrc4172 address map definisions.
- vrc4172 gpio/ucy/pcs/pmu/pwm register definitions.
- vrc4172 pwm driver (not yet completely)
2000-11-11 04:42:08 +00:00
eeh
efaf3dbb74 Remove unnecessary header file that causes linker issues. 2000-11-10 17:47:55 +00:00
hannken
0ba0592864 Pull in dev/i2o/files.i2o. 2000-11-10 17:09:15 +00:00
eeh
132d16957c Clean up config and fix things so kbd.h is generated even w/no keyboard. 2000-11-10 16:05:40 +00:00
mrg
3ea4c67b6b remove unused variable 2000-11-10 11:57:26 +00:00
itojun
05b2e0b151 /t_line/t_linesw (typo) 2000-11-10 11:08:32 +00:00
enami
ce78591ae1 Cometic change; keep the code to process a second hunk closer to the first one. 2000-11-10 04:00:25 +00:00
enami
390c8adfbc Don't start next iteration while processing a first memory hunk since
there may be a second hunk.
2000-11-10 03:58:15 +00:00
scw
096c3068dd The ZS chips are actually clocked at 5MHz and 10MHz on mvme147 and
mvme162 respectively. Thanks to Neil Lubdan and a frequency counter. :-)
2000-11-09 19:51:57 +00:00
christos
0cf0dd1b80 put the suggestion message in uvm_page.c. There could be other reasons
why we are not able to find the end of memory.
2000-11-09 19:22:30 +00:00
kim
534a2fa4bb BIOS memory loading messages can be enabled with DEBUG_MEMLOAD.
Increase VM_PHYSSEG_MAX from 3 to 5 to avoid a panic.  Suggest
increasing VM_PHYSSEG_MAX in the panic message.
2000-11-09 17:34:51 +00:00
tsutsui
dd7146d50b On sun3x, cpu_reboot() calls sunmon_abort() for PROM bug work-around,
but sunmon_abort() does not restore mon_crp so it causes problems.
Instead, call romVectorPtr->abortEntry (via trap14) from sunmon_halt()
and call it from cpu_reboot().

Now PROM boot command works properly even after halt on my 3/80.
2000-11-09 14:38:44 +00:00
tsutsui
487ec97958 Make it possible to enable/disable DC_BE and IC_BE bits in %cacr at runtime
and enable them on news1200/1400/1500 (which have no L2cache).
2000-11-09 14:17:19 +00:00
tsutsui
42c617c5c6 Oops, fix botch in previous. 2000-11-09 13:32:06 +00:00
tsubai
eef7148644 Enable HID0_BTIC on 750 and 7400. 2000-11-09 11:58:09 +00:00
tsubai
b11322a19d powerpc HID registers definitions (only HID0 for now). 2000-11-09 11:49:13 +00:00
thorpej
aadf694c47 Fix a printf format. 2000-11-09 06:09:59 +00:00
thorpej
2951308623 Use 64-bit printf formats for paddr_t's. 2000-11-09 06:05:40 +00:00
thorpej
e654e96593 Use 64-bit printf formats for paddr_t's (for arc port). 2000-11-09 06:02:40 +00:00