mhitch
7295f9f909
Switch to MI installboot.
2003-01-15 07:25:51 +00:00
pk
a458d9f040
Fix compiler warning induced by last change.
2003-01-15 06:57:12 +00:00
chs
0d8f526f58
fix two bugs in my last pmap rework:
...
- in tlb_flush_all(), don't skip TLB entries with the high bit on,
I was confused about which MMU register it was using. it's also fine
to use the last hardware context.
- in pmap_create(), don't allocate a hardware context for the new pmap.
it's unnecessary, and when this would cause us to recycle all the contexts,
it would result in the current process's context being set to 0
(ie. the kernel's context). the current process could then return to
userspace without going through the context-switch code (and thus without
having a hardware context reallocated). this would lead to user mappings
being entered in the kernel's context later, causing all sorts of trouble.
add some assertions to catch this kind of thing.
2003-01-15 06:15:05 +00:00
thorpej
c8763685b7
Allow the serial console boot blocks to be built with a specific
...
console speed, and build some of the more common ones.
2003-01-14 23:53:30 +00:00
thorpej
f6f0dbd011
Stub out LIBCRT0, LIBCRTBEGIN, LIBCRTEND, and LIBC.
2003-01-14 23:51:34 +00:00
pk
9eb63b3b94
statintr: if interrupting code running below IPL_SCHED, call schedintr()
...
directly, saving the overhead of an extra soft interrupt.
2003-01-14 23:00:59 +00:00
pk
c8226e1ce0
Define spllowerschedclock().
...
To be used in the same spirit as spllowersoftclock().
2003-01-14 22:58:00 +00:00
pk
d45f77c6c8
Add CLKF_LOPRI() macro that allows a (timer) interrupt handler to determine
...
whether it is interrupting code running at a given IPL level.
2003-01-14 22:54:53 +00:00
pk
ee7e8274a6
xcall: raise IPL to splsched() to prevent interrupts that take schedlock.
...
Otherwise we have a locking order problem with schedlock and xmsglock.
2003-01-14 17:30:55 +00:00
pk
18cd92ffe3
(Re)initialise the pmap structure fields that are not preserved on the
...
pmap pool cache all in one place.
2003-01-14 13:56:07 +00:00
fvdl
5692526bb6
Remove duplicate assignment.
2003-01-14 11:13:25 +00:00
fvdl
d928619394
Add a couple more ServerWorks host bridges that explicitly need IO space
...
enabled.
2003-01-14 10:56:53 +00:00
fair
7b889057b4
Add bktr*, udsbr* and radio* at each;
...
allocate a major number for radio*
2003-01-14 08:40:53 +00:00
fvdl
28c12bee16
Actually return the number of found PCI interrupt routes in mpacpi_pcircount
...
(doh). From Wolfgang Solfrank.
2003-01-13 21:14:39 +00:00
bouyer
3075f204fd
As pceb pulls in sio.c and sio_pci.c, is also needs the alpha_shared_intr
...
attribute.
2003-01-13 20:55:14 +00:00
augustss
12a30d35ea
Add KGDB (commented out).
2003-01-13 20:48:16 +00:00
augustss
cb7fde57d3
Make it compile on MPC6xx. I'm not sure about MPC40x.
2003-01-13 20:29:34 +00:00
augustss
5e9e39026f
Add KGDB hooks.
2003-01-13 20:26:44 +00:00
augustss
fdac9a76f1
Enable nested interrupts.
2003-01-13 20:26:22 +00:00
pk
b50058b483
Broadcast I-cache flush in the `Unimplemented Flush' trap handler.
2003-01-13 20:00:34 +00:00
pk
b4a1c0f6a0
Reset ddb_cpuinfo when leaving DDB.
2003-01-13 19:44:53 +00:00
pk
167ce8e6d3
Fix stack tracing once again.
...
Also check for trap frame boundaries when fetching the return address.
2003-01-13 19:44:06 +00:00
bouyer
15c016cd08
When padding frames smaller than ethernet minimum size, make sure we supply
...
a buffer long enouth, with the padding bytes initialised.
Also pad to ETHER_MIN_LEN - ETHER_CRC_LEN, not ETHER_MIN_LEN (padded frames
were 4 bytes too long).
2003-01-13 17:13:10 +00:00
pk
df4b5f766b
Remove UNLOCK_XPMSG() before cpu_halt(); it's not compatible with LOCKDEBUG
...
and it wan't chique in any case.
2003-01-13 16:59:17 +00:00
mrg
8d9571d120
remove cpu_hatched, cpu_hatch_sc and cpu_hatchstack. the first can use
...
the cpi->flags, the second is unused and the third is also cpi-idle_u.
2003-01-13 15:50:50 +00:00
pk
5642428f4e
Use print_nolog() from xcall(), to avoid confounding things even further
...
by re-entering the scheduling code to wakeup syslog waiters.
2003-01-13 15:01:16 +00:00
pk
4641d55697
Halt any other CPUs in cpu_reboot().
2003-01-13 01:35:45 +00:00
fvdl
991c0f3475
Install interrupt handlers properly when in apic mode.
2003-01-13 01:20:58 +00:00
fvdl
86ae625e2c
Declare nioapics as well.
2003-01-13 01:19:34 +00:00
augustss
735022ab70
Fix bus_space_mmap() bug.
2003-01-13 00:21:53 +00:00
augustss
e1dd8d6b94
The bus_space_mmap() returns a physaddr, not a page, on the PPC.
...
(This is broken in some (all?) of the PPC ports, it seems.)
2003-01-12 23:46:11 +00:00
fvdl
a4880cb372
Export the ioapic softc linked list, for the benefit of the mpbios code.
2003-01-12 23:20:17 +00:00
fvdl
d43937377e
Handle all-apics entries for ioapic interrupts.
2003-01-12 23:19:44 +00:00
pk
2684c88122
fpulock: encapsulate required IPL raise in the FPU LOCK/UNLOCK macros.
2003-01-12 16:29:00 +00:00
uwe
24780840a1
Account softintr_common as uvmexp.softs, not uvmexp.intrs.
2003-01-12 06:11:01 +00:00
pk
55a3bd0a85
schedcpu() has been fixed; now we can notify another CPU about a pending
...
reschedule request.
2003-01-12 01:50:51 +00:00
pk
c41718e9ec
Remove needless indirection from the curproc() macro.
2003-01-12 01:19:00 +00:00
pk
ae33d2b4e5
Use per-CPU virtual addresses for pmap_copy_page() & pmap_zero_page().
2003-01-12 01:16:06 +00:00
augustss
337a21e08f
Get interrupt swizzling right.
2003-01-12 00:52:45 +00:00
matt
12a9bdbb4f
Add missing ethernets and phys. Update FireWire to current reality.
2003-01-12 00:50:29 +00:00
pk
dab556c2b1
pmap_deactivate(): arguments for sp_tlb_flush() were reversed.
2003-01-12 00:34:52 +00:00
tsutsui
9a5dedeaea
Fix -Wsign-compare and -Wuninitialized warnings.
2003-01-11 16:01:49 +00:00
tsutsui
5db9bf0614
Fix -Wsign-compare warnings.
2003-01-11 16:00:48 +00:00
aymeric
04afe0c722
Change the bootstrap procedure to avoid temporarily mapping physical memory.
...
Now, on the Amiga, we copy a small piece of code to chip memory and enable the
MMU from here.
On the DraCo, we setup %itt0 so that we shadow physical memory without
touching the page tables and very temporarily. The DraCo's memory layout
guarantees that there is no overlap in this case between physical and
virtual addresses.
This fixes a bug where Amiga's with physical memory at 0x200000 wouldn't boot
kernels >2M in size, and possibly other corner cases.
Joint work with Ilpo Ruotsalainen and Ignatios Souvatzis.
2003-01-11 10:47:08 +00:00
mrg
90d9434890
keep track of which cpu's have run a pmap and only broadcast tlb flushes to
...
cpu's who have done so. implement pmap_deactivate() for MULTIPROCESSOR and
call it from cpu_switch() when we are about to switch proces and when we
enter idle().
with this change, i see significantly reduced tlb IPI traffic and fork/exec
bound processes -- such as "configure" -- run significantly faster, upto
15%. i also obvserved a small (0-2%) benefit to CPU bound tasks as well.
2003-01-11 03:40:31 +00:00
rafal
30d29f647c
Simplify CRIME rev. calculation (we don't appear to need the low nibble).
2003-01-10 20:39:22 +00:00
mrg
e756303d08
expand db_proc_cmd() a little more.
2003-01-10 19:25:12 +00:00
pk
30cc38bdb5
Replace `want_resched' and `want_ast' globals by per-CPU variables.
2003-01-10 16:34:14 +00:00
augustss
fc3c2cbc33
Make SYMTAB_SPACE actually work.
2003-01-10 16:18:45 +00:00
fvdl
9cf4ee5aef
Move the check if ioapics were found outside of ifdef MPBIOS. Set the
...
polarity for the default ISA entries to 'default'.
2003-01-10 15:01:09 +00:00