bjh21
cb5273b547
First attempt at an EtherH driver. Can just about transmit and receive
...
packets. Interrupt enabling is left to the RISC OS driver, medium selection
is untested and it's hard-wired to the MAC address of my card. Not really
for production use.
2000-12-01 14:28:36 +00:00
soren
ff0f7c1ab4
No longer used.
2000-12-01 07:56:18 +00:00
soren
2cc519bba5
<pc/display.h> has been moved to <dev/ic/pcdisplay.h>.
2000-12-01 07:55:10 +00:00
scw
97490c9997
Add __attribute__((__packed__)) to cpu_disklabel to get around
...
the ELF padding/alignment constraints.
2000-12-01 00:02:22 +00:00
scw
75f2f8f242
Delete an extraneous underscore in the last commit.
2000-11-30 23:47:45 +00:00
scw
bd8955b9b6
Only try to attach those devices which have been configured
...
in the kernel config file.
2000-11-30 22:54:31 +00:00
scw
c4a189ad74
Print some more details of the memory managed by each ASIC.
2000-11-30 22:51:35 +00:00
scw
ba98135ea8
Add EXEC_ELF32
2000-11-30 22:31:27 +00:00
scw
7051df32f5
Support booting an ELF kernel, plus numerous tweaks due to
...
the gas.new/ELF transition.
2000-11-30 22:26:26 +00:00
scw
9121962f0e
Copy the syscall return value into A0, as per the SVR4 ABI.
...
Also prepare for COMPAT_AOUT_M68K.
2000-11-30 21:29:11 +00:00
scw
d3251e5074
Prepare to switch mvme68k bootloader over to the MI loadfile().
2000-11-30 21:20:43 +00:00
scw
7248616dee
Ditch an extra % in a register prefix, and s/a6/fp/
2000-11-30 21:18:07 +00:00
scw
71ca01981e
Prepare for the m68k ELF transition:
...
o Add register prefixes for the benefit of gas.new
o Wrap global symbols in the m68k/asm.h macros
o Fix `#' comments so the source can be run through the C pre-processor
2000-11-30 21:00:51 +00:00
bjh21
9307dc5373
Reduce default UBC_NWINS to save precious KVM.
2000-11-30 20:59:36 +00:00
bjh21
32b19479ca
Drastically reduce PAGER_MAP_SIZE so we don't run out of KVM so soon.
2000-11-30 12:16:00 +00:00
nisimura
3077a68aa3
Reduce UPAGES from 3 to 2.
2000-11-30 02:55:50 +00:00
jdolecek
73f3cd8c7e
LKMify
2000-11-29 21:51:49 +00:00
jdolecek
7924882d2e
remove unneded opt_compat_osf1.h stuff
2000-11-29 21:50:49 +00:00
tsubai
e4bfefe7bd
Make spl functions no-inline. This saves size and even it runs faster on
...
some systems.
2000-11-29 17:55:52 +00:00
minoura
0bbc767215
Adjust the ramdisk size.
2000-11-29 14:45:27 +00:00
jdolecek
9cdf00b4bb
remove rules for genassym.c, it's no longer pertinent
2000-11-29 13:02:51 +00:00
jdolecek
0e8ae0e54a
convert to use common genassym.cf
2000-11-29 12:55:11 +00:00
tsutsui
7dc077e6f5
Change UPAGES from 3 to 2. (sync with hp300)
2000-11-29 12:32:06 +00:00
aymeric
5deecf29d2
Fall back to previous memory segments detection code if BIOS reports no
...
correct memory segment.
This prevents some systems from losing with `can't find end of memory'.
Discussed with Bill Sommerfeld.
2000-11-29 09:56:02 +00:00
scw
614e494d9e
Add register prefixes.
2000-11-29 09:18:32 +00:00
scw
930411f925
Missed a couple of register prefixes...
2000-11-29 09:11:53 +00:00
scw
fecb49d172
Add register prefixes.
2000-11-29 09:09:39 +00:00
thorpej
5f3a256833
Allocate the DMA windows out of the PCI memory extent map after
...
DMA is initialized.
2000-11-29 06:30:09 +00:00
thorpej
96294f7b26
Do the additional PCI memory initialization after configuring DMA.
2000-11-29 06:29:10 +00:00
thorpej
8f20972db2
Revert previous -- we'll do it differently.
2000-11-29 06:21:12 +00:00
thorpej
d615083897
The AMD 751 doesn't have DMA windows, so allocate the RAM out of the
...
PCI memory extent map. Bad things will happen if we try to assign
a device where RAM is mapped into PCI space.
2000-11-29 05:56:49 +00:00
thorpej
8ebabb1aae
Increase the number of static extent descriptors from 8 to 16,
...
and add a means for calling a chip-specific init hook.
2000-11-29 05:53:29 +00:00
augustss
f9450fa993
Put neo* in alphabetical position.
2000-11-28 19:44:07 +00:00
thorpej
3f877e127e
Add auich(4) and neo(4).
2000-11-28 05:18:42 +00:00
minoura
2eabb2676b
We do not use INSTALL_SMALL any more.
2000-11-28 03:18:18 +00:00
jdolecek
f6a7e12165
split linux signal code off locore.s
2000-11-27 22:29:26 +00:00
matt
37ca010efd
Add generic ISA floppy support
2000-11-27 21:50:13 +00:00
jdolecek
67e67ac7dc
Replace the (no longer working) check for tp->t_line == 0 with
...
tp->t_linesw == linesw[0]. Hopefully this is correct.
2000-11-27 18:39:04 +00:00
matt
5cbf7c7a23
No longer needed. We use MI version now.
2000-11-27 17:04:13 +00:00
matt
a23d349584
Use MI md_root.c
2000-11-27 17:03:12 +00:00
tsutsui
6ca08c284e
More fixes for linesw changes.
2000-11-27 15:28:41 +00:00
tsubai
0562490a63
Change base address to 0x800000.
2000-11-27 14:41:47 +00:00
pk
cd9bcb98dc
Undo most of rev 1.94 to make a.out emulation work again.
2000-11-27 13:31:18 +00:00
tsutsui
936191481d
Prepare cpu_exec_ecoff_probe() for mips which just returns ENOEXEC,
...
as per discussion on tech-kern.
2000-11-27 13:25:24 +00:00
tsubai
e5c94432d1
Reduce PAGER_MAP_SIZE to 4MB.
2000-11-27 11:37:33 +00:00
nisimura
cdc7cdbcde
Back out the change of the way to grab proc0's USPACE. It produces
...
kernel lock up in mach_init() by a reason unknown to me.
2000-11-27 08:57:08 +00:00
soren
66864e1f05
Removed increased BUFCACHE/BUFPAGES.
2000-11-27 08:55:41 +00:00
soren
52e9098c1d
arch/mips is used now.
2000-11-27 08:54:02 +00:00
matt
70e44cf083
Rework bus_space to conform the PReP I/O & MEM limits. Add a few debugging
...
printfs concerning interrupts.
2000-11-27 08:53:54 +00:00
chs
aeda8d3b77
Initial integration of the Unified Buffer Cache project.
2000-11-27 08:39:39 +00:00
chs
c29a1b4461
allow ports to override PAGER_MAP_SIZE in machine/vmparam.h.
...
some ports (such as arm32) don't have enough KVA for the
increased default size once the UBC mapping is also present.
2000-11-27 08:19:50 +00:00
soren
a5dad0db13
Correct a few cpu/fpu ids.
2000-11-27 06:38:54 +00:00
nisimura
fdfe3556de
Use only one TLB entry to wire down process's USPACE since it's
...
now guranteed to be aligned on 8KB boundary in kernel virutal
address. Retain one more free TLB entry.
2000-11-27 06:37:32 +00:00
soren
d800267698
Forgot to commit bounds_check_with_label().
2000-11-27 06:00:09 +00:00
soren
38a44e0d8f
Consistently use pmap_steal_memory() to allocate USPACE.
2000-11-27 05:57:25 +00:00
nisimura
05960017b2
Fix an typo by cut'paste work in the previous change.
2000-11-27 05:17:06 +00:00
nisimura
f6562a41a3
Use pmap_steal_memory() to glab proc0's USPACE.
2000-11-27 05:12:32 +00:00
jdolecek
cee3939088
comment out entries accidentaly committed together with previous
...
change
2000-11-26 20:48:39 +00:00
bjh21
eb0dc305da
Insert clock low after ack bit.
2000-11-26 18:53:12 +00:00
bjh21
f801b80192
Zero-length reads seem to confuse the chip, so don't do that.
2000-11-26 18:12:36 +00:00
ad
57ea462da2
lsu -> ld, by popular request.
2000-11-26 17:44:02 +00:00
chs
63d8906bac
const poisoning.
2000-11-26 15:13:50 +00:00
bjh21
2906c5057a
Regen.
2000-11-26 15:04:22 +00:00
bjh21
22b88b3d3e
Add HCCS IDE interface, from Kjetil B. Thomassen <kjetil@thomassen.priv.no>.
2000-11-26 15:03:25 +00:00
jdolecek
c969c9196c
make this usable also standalone
2000-11-26 12:02:16 +00:00
jdolecek
17a9fd0da5
split m68k SunOS and SVR4-specific sigcode.s code to sunos_sigcode.s
...
and svr4_sigcode.s respectively
adjust individual m68k port's locore.s to include new sigcode files if
appropriate
2000-11-26 11:47:23 +00:00
jdolecek
bc435e5551
rename COMPAT_locore.s to COMPAT_sigcode.s - that is more suitable name for it
...
make the files compilable within LKM
2000-11-26 11:18:20 +00:00
takemura
3c9d9276dc
Add new powerhook argument values, PWR_SOFTSUSPEND, PWR_SOFTSTANDBY and
...
PWR_SOFTRESUME. Apm calls powerhook with the values in normal interrupt
priority level while others are protected with splhigh().
2000-11-26 11:08:57 +00:00
takemura
5692823cae
You can map mq200 registers as well as frame buffer.
...
(This little change has already contains release 1.5 branch by my mistake)
2000-11-26 08:33:43 +00:00
sato
b45e183988
hardware accelarate function parameters turn to dot base.
2000-11-26 06:21:16 +00:00
thorpej
484693d993
`babylon' no longer exists.
2000-11-26 04:59:03 +00:00
thorpej
dce417005a
Kernel config file for basil.shagadelic.org, my API UP1000 devel machine.
2000-11-26 04:58:07 +00:00
itojun
c40695f5ad
a complete kernel for wildlab LAMB, http://www.wildlab.com/ .
2000-11-26 03:28:41 +00:00
scw
a643cf07a5
Add the memory controller ASIC driver.
2000-11-25 21:46:42 +00:00
scw
46d0d060fd
Oops, missed a trailing comma ...
2000-11-25 21:06:12 +00:00
scw
eff5b700a8
Enable compatibility for earlier releases.
2000-11-25 20:35:32 +00:00
scw
ee58c485bf
Add CD9660, plus some general cleanup.
2000-11-25 19:33:39 +00:00
scw
2aa72fcec2
Include the cd9660 filesystem and cd(4).
2000-11-25 19:21:50 +00:00
scw
5529847b99
Don't base this on the GENERIC config file; there's too much
...
unnecessary bloat in it for an installation kernel.
2000-11-25 19:18:46 +00:00
scw
636c4f5c12
G/C some long-obsolete functions.
2000-11-25 18:49:59 +00:00
bjh21
70562420ce
Support multiple files on the command line (they're catted together).
...
Ditch a.out support while we're here (to save updating it).
2000-11-25 18:30:23 +00:00
tsubai
2fb7179aaf
Add KERNEL_LOCK (et al.) to run MULTIPROCESSOR kernel on a single cpu system.
2000-11-25 15:49:43 +00:00
bjh21
98253a5467
It seems that all versions of BBC BASIC V can load a text file specified on
...
the command line, so we don't need to tokenize it first.
This makes it less than clear what file type BBBB should have, so let's not
make an issue of it.
2000-11-25 13:32:51 +00:00
scw
73e60771ab
Fix the code which probes the memory controller ASICs. We can now
...
deal with the 2nd one not being present.
2000-11-25 11:25:07 +00:00
nisimura
554a1bfcc6
Update and clarify the comment description of how disklabel is managed.
2000-11-25 07:58:07 +00:00
minoura
9f9181afde
Use objcopy instead of dd. This will work after we'll switch to ELF.
...
Using command directly breaks cross compilation. Use macro instead.
2000-11-25 05:27:19 +00:00
tsutsui
add41a3fee
Make sure to return PROM prompt even if loading kernel fails halfway.
2000-11-25 04:42:06 +00:00
matt
f80f1b8624
Preliminary AltiVec support.
2000-11-25 03:03:35 +00:00
matt
4c6aaf87d2
Add placeholder for AltiVec support file.
2000-11-25 03:01:40 +00:00
matt
6d256b4cca
Preliminary AltiVec support
2000-11-25 03:00:48 +00:00
matt
6b0877113f
Some preliminary ALTIVEC support.
2000-11-25 02:59:34 +00:00
chs
b5142d6841
increase PAGER_MAP_SIZE to 16MB and move it to uvm_pager.h
...
since the alpha and mips pmaps use it.
2000-11-24 22:41:38 +00:00
sato
446d4c8a9f
delete not HPCFB_TVOPTIM codes.
2000-11-24 22:05:13 +00:00
sato
bda86c3118
update experimental HPCFB_JUMP codes.
...
(but not completely yet)
2000-11-24 21:58:06 +00:00
tsubai
4e01e6de8b
When fatal trap occurs, enter DDB with trapframe rather than just "Debugger()".
2000-11-24 21:49:06 +00:00
scw
2129dff0f7
The ramdisk now needs 1024 blocks.
2000-11-24 19:40:15 +00:00
scw
bf5610e667
Some minor optimisations.
2000-11-24 14:49:44 +00:00
tsutsui
6d8f55d932
Use single_inst_b{set,clr}_b() macro defined in m68k/asm_single.h.
2000-11-24 14:08:14 +00:00
tsutsui
5ed7dadbfb
Enable rnd and comment out CD9660. (no SCSI support on news1200 yet)
2000-11-24 13:05:31 +00:00
tsutsui
be69cb38ee
Add/enable COMPAT_SUNOS. It actually works on news68k.
2000-11-24 12:58:17 +00:00
tsutsui
500525029a
PAGE_SIZE on sun3/sun3x is now constant;
...
Use uvmexp.pagesize itself for its initialization.
2000-11-24 11:57:45 +00:00
scw
55ecb0e64a
`emul_sunos' is now declared in the appropriate header file.
2000-11-24 10:29:21 +00:00
scw
dcd1f30fb8
First cut of a driver for the Memory Controller ASICs found
...
on mvme16x and mvme17x boards.
2000-11-24 09:42:09 +00:00
matt
ca7a0ec817
Make this compile again.
2000-11-24 09:39:37 +00:00
scw
7d191ffe77
Revamp the bus_space(9) implementation:
...
. use a structure for the tag instead of an integer constant,
. add bus_space_{peek,poke}_N() (and G/C `badaddr()'),
. fix a few drivers which have dependencies on the implementation.
2000-11-24 09:36:40 +00:00
scw
a70c48655b
Add a bus_space_tag_t field to the mvmebus_softc structure and
...
initialise/use it in the ASIC-specific back-ends.
2000-11-24 09:27:42 +00:00
scw
06e91c089b
Replace the inline C versions of bus_space_{read,write}_N() with
...
inline assembler. This generates significantly more efficient code,
and trims ~1KB off the size of an mvme68k GENERIC kernel...
2000-11-24 09:05:55 +00:00
scw
7bd36d34a1
Use the MI md_root.c.
2000-11-24 08:54:08 +00:00
minoura
e6a960146a
Use MI md_root.c.
2000-11-24 06:55:22 +00:00
chs
fa19fe52db
adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case
...
so that gcc will think that static spinlock are used.
this allows us to remove the ugly conditionalization of
static spinlock declarations.
2000-11-24 03:59:07 +00:00
simonb
f91f0ea65c
Make this compile again (unterminated `#if' conditional).
2000-11-24 02:21:56 +00:00
chs
bac6420b96
fix reversed keywords in previous commit.
2000-11-23 21:58:54 +00:00
chs
c01c2504a2
examine the PDE in addition to the PTE when checking for valid mappings.
2000-11-23 21:44:52 +00:00
nisimura
c2c8f26967
- Nuke xasc_ioasic.h and xasc_pmaz.h as no code uses the symbols they define.
...
- Hide #include <pmax/dev/device.h> for "pmax oldscsi" inside
#if NRZ > 0 || NTZ > 0.
2000-11-23 09:44:14 +00:00
matt
1420862fba
Add comments and AltiVec reg state.
2000-11-23 02:35:10 +00:00
msaitoh
007d059977
- fix \n conversion from \n\r to \r\n
...
- cleanup
2000-11-22 21:14:25 +00:00
msaitoh
d077acc4e9
const struct sysent
2000-11-22 21:12:28 +00:00
wiz
b03725b863
Change OF_nextprop to match prototype change to void *
...
(Please don't change prototypes without changing the corresponding
functions!)
2000-11-22 18:18:32 +00:00
jdolecek
818062390e
Intel recommends to print cpu serial number as six dash-separated nibbles
...
(XXXX-XXXX-XXXX-XXXX-XXXX-XXXX), make it so
2000-11-22 16:41:56 +00:00
nonaka
41b0daf516
- Add some PCMCIA devices.
...
- Commented out USB devices.
2000-11-22 16:15:44 +00:00
nonaka
ea05f33502
Set intrtype[irq] if interrupt type is IST_NONE.
2000-11-22 16:07:16 +00:00
tsubai
1931e71852
Constify struct sysent.
2000-11-22 14:00:46 +00:00
leo
f4420dcb03
Revert previous change. I cannot see why this ever worked... Pointed out
...
by Steve Woodford.
2000-11-22 12:39:03 +00:00
tsutsui
4b61041326
e_sysent in struct emul has been const'fied.
2000-11-22 11:47:17 +00:00
matt
03b44427da
Make assym.h be generated again
...
Add pcmcia support to files.prep
Add isa_intr_alloc support.
2000-11-22 08:55:35 +00:00
thorpej
534e7d4454
Several changes, which get us generally further along with
...
multiprocessor support:
- Implement MP-safe halt.
- Make the FPU saving code more like Bill's on the i386 MP branch.
XXX This code will no doubt be revisited again.
- Pass the cpu_info and trapframe to IPI handlers, saving some work
in the handlers themselves, and also making it possible for the
"pause" handler to reference register state for DDB.
- Add "machine cpu" to DDB, making it possible to reference other
CPUs registers (and thus get e.g. a traceback) from whichever
CPU is actually running the debugger.
- Garbage-collect "machine halt" and "machine reboot" DDB commands.
They don't have a prayer of working properly in multiprocessor
kernels, and didn't really work all that well in uniprocessor kernels.
2000-11-22 08:39:46 +00:00
thorpej
6cbdf24c45
Add a debugging printf, commented out by default.
2000-11-22 07:44:01 +00:00
enami
9c0026f5fa
s/char \*/const &/ so that this file compiles again.
2000-11-22 04:28:13 +00:00
itojun
1c06733c6b
constify
2000-11-22 03:54:01 +00:00
thorpej
7231516137
Just access the trapframe directly for DDB registers.
2000-11-22 02:25:52 +00:00
thorpej
7f6303947a
Restructure the way registers are presented to DDB, to make it
...
easier to support reading registers from other CPUs.
2000-11-22 02:03:48 +00:00
bjh21
564a044dcb
Using bsd.man.mk looked silly without a man page. Use bsd.prog.mk without
...
PROG instead.
2000-11-22 00:36:22 +00:00
bjh21
fc955e1104
Move BBBB out of the kernel tree so other architectures can see it.
2000-11-22 00:32:53 +00:00
bjh21
c4eb6c6325
Rudimentary manual page for BBBB.
2000-11-22 00:18:47 +00:00
bjh21
986c78ced4
New mechanism for building the tokenised version of BBBB under NetBSD. This
...
saves us having to keep a uuencoded version around.
2000-11-21 23:47:37 +00:00
bjh21
99899665e8
Move of BBBB to a more sensible location.
...
Look in sys/arch/arm26/boot/BBBB,fd1 for old commit messages.
2000-11-21 23:44:24 +00:00
tsutsui
161004f8c3
s/struct const sysent/const struct sysent/
...
(BTW, luna68k was missed in emul/execsw changes?)
2000-11-21 23:19:42 +00:00
scw
f86349723d
Put the call to mvme68k_init() back where it was originally.
2000-11-21 22:08:04 +00:00
jdolecek
09c6390523
make trap_type[] const
2000-11-21 21:27:04 +00:00
jdolecek
3323852a95
put compat-specific locore code to separate *_locore.s files
2000-11-21 21:13:23 +00:00
chs
0ac52aaf1d
remove MD functions for printing vnodes and buffers since there are
...
MI versions now.
2000-11-21 16:34:52 +00:00
ad
20ef6ae40a
Fix netbooting on the 2100/3100. Partially from Thilo Manske
...
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:21:36 +00:00
ad
bd4ff2a804
PMIN vs. PMAX in boot message. Pointed out by Thilo Manske
...
<Thilo.Manske@HEH.Uni-Oldenburg.DE> in PR 11212.
2000-11-21 14:19:10 +00:00
tsutsui
2c7e91a09e
Define proper macros for FP frame offsets rather than magic numbers.
2000-11-21 13:54:13 +00:00
tsutsui
20494c8f05
Pull in dev/i2o/files.i2o, which is required by files.pci.
2000-11-21 13:34:57 +00:00
scw
f33cb83f53
Call zs_set_speed() to calculate the initial timing constants.
2000-11-21 11:41:37 +00:00
chs
c588bbbe76
add a missing newline in a printf().
2000-11-21 08:14:17 +00:00
chs
7af6378fca
two changes to arm32 fault handling:
...
- when pcb_onfault is set, allow UVM to attempt to resolve permission faults
as well as translation faults (rather than immediately invoking the
onfault handler for permission faults). this is needed for UBC since
it will be normal for uiomove() to fault on read-only mappings which
will be made writable by the pager.
- clear pcb_onfault before calling uvm_fault() and restore it afterward.
if the fault handler generates a pagefault, we'd like to panic rather
than invoking the onfault handler.
2000-11-21 06:30:05 +00:00
chs
197f7aae9c
two changes to pmap_enter():
...
- allow entry of the same mapping that's already there.
this can happen with UBC.
- if PMAP_CANFAIL, return failure rather than sleeping
when we fail to allocate a ptp.
2000-11-21 06:14:40 +00:00
chs
2116915a30
eliminate TRUNC_PAGE() and ROUND_PAGE() in favor of their
...
lowercase counterparts. also, a little misc cleanup.
2000-11-21 05:49:07 +00:00
soren
4927de268a
Adjust for p_emul change.
2000-11-21 02:26:07 +00:00
jdolecek
baae0324b9
restructure struct emul and execsw, in preparation to make emulations LKMable:
...
* move all exec-type specific information from struct emul to execsw[] and
provide single struct emul per emulation
* elf:
- kern/exec_elf32.c:probe_funcs[] is gone, execsw[] how has one entry
per emulation and contains pointer to respective probe function
- interp is allocated via MALLOC() rather than on stack
- elf_args structure is allocated via MALLOC() rather than malloc()
* ecoff: the per-emulation hooks moved from alpha and mips specific code
to OSF1 and Ultrix compat code as appropriate, execsw[] has one entry per
emulation supporting ecoff with appropriate probe function
* the makecmds/probe functions don't set emulation, pointer to emulation is
part of appropriate execsw[] entry
* constify couple of structures
2000-11-21 00:37:49 +00:00
soren
1bbc3bd9b5
Same as sys/dev/md_root.c.
2000-11-21 00:18:03 +00:00
soren
0bb338521a
Use dev/md_root.c.
2000-11-21 00:17:33 +00:00
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