Commit Graph

254 Commits

Author SHA1 Message Date
John-Mark Gurney
9c21341304 move pmap.h after vm.h include... some of the headers from pmap.h depend
upon vm.h
2005-02-09 00:10:17 +00:00
Nate Lawson
3888a87205 Finish the job of sorting all includes and fix the build by including
malloc.h before proc.h on sparc64.  Noticed by das@

Compiled on:	alpha, amd64, i386, pc98, sparc64
2005-02-06 01:55:08 +00:00
Nate Lawson
a287c0ffaf Sort includes a little so that bus.h comes before cpu.h (for device_t). 2005-02-04 06:58:09 +00:00
Nate Lawson
4c4381e288 Add an implementation of cpu_est_clockrate(9). This function estimates the
current clock frequency for the given CPU id in units of Hz.
2005-02-04 05:32:56 +00:00
Nate Lawson
3d7d8f614b Sort functions. 2005-02-01 06:36:27 +00:00
Olivier Houchard
4b62274965 Make sure we can boot both with and without MMU enabled. 2005-01-23 22:08:31 +00:00
Olivier Houchard
356607e0c6 Define bus_dmamap_load_buffer before bus_dmamap_load to make gcc happy. 2005-01-23 22:07:33 +00:00
Olivier Houchard
3382533d46 Fix compile for !KTR. 2005-01-23 21:39:23 +00:00
Olivier Houchard
a881074e10 Remove references to non-existing symbols DO_corb and got_mmu.
While I'm there, remove dead code.
2005-01-20 22:23:26 +00:00
Olivier Houchard
3d8e3adb3e Fix compile for __ARMEB__. 2005-01-19 16:22:20 +00:00
Olivier Houchard
1f6c8bc54b MFpowerpc: Work around the problem of returning a 32 bits value from
__syscall() on a 32 bits big-endian arch.

Spotted out by:	grehan
2005-01-19 00:37:03 +00:00
Olivier Houchard
12a58da422 Start to support the big endian case as well. 2005-01-18 15:51:50 +00:00
Olivier Houchard
a9357c744c Add a new sysctl, hw.sevenseg.freq, to control the update frequency. 2005-01-16 13:18:52 +00:00
Olivier Houchard
fde8140fde Erm, don't forget to store the mbuf in the dmamap in bus_dmamap_load_mbuf_sg(),
so that bus_dmamap_sync() knows what to invalidate. This makes em(4) work again.
While I'm there, remove the unused "first" variable.
2005-01-16 13:15:16 +00:00
Olivier Houchard
de76196323 Add support for KTR_BUSDMA. 2005-01-15 19:42:28 +00:00
Olivier Houchard
34c8913825 Add the prototype for bus_dmamap_load_mbuf_sg().
Spotted out by:	scottl
2005-01-15 19:31:08 +00:00
Olivier Houchard
5134102b9d MFi386: add bus_dmamap_load_mbuf_sg(). 2005-01-15 19:07:23 +00:00
Olivier Houchard
6728fc65cc Add the 7 seg display. 2005-01-15 18:55:40 +00:00
Olivier Houchard
4801ad2f3c Add support for the IQ31244 7 seg display.
Obtained from:	NetBSD
2005-01-15 18:55:22 +00:00
Olivier Houchard
7c1658d122 Start the license statement with /*- 2005-01-15 18:38:10 +00:00
Olivier Houchard
70861d0ddd Use device_set_desc(). 2005-01-15 16:57:00 +00:00
Olivier Houchard
d29e12242c Add the i80321 watchdog. 2005-01-15 16:56:22 +00:00
Olivier Houchard
c1729ff0d5 Add a driver for the i80321 watchdog.
Obtained from:		NetBSD
2005-01-15 16:54:35 +00:00
Olivier Houchard
9026d36c6e Add support for ptrace() and gdb breakpoints. 2005-01-10 22:43:16 +00:00
Olivier Houchard
8b64f2f5ad Don't assume pmap_update() will cpwait for us, pmap_update will disappear soon. 2005-01-10 22:41:08 +00:00
Warner Losh
d8315c79d9 Start all license statements with /*- 2005-01-05 21:58:49 +00:00
Alan Cox
1f70d62298 Modify pmap_enter_quick() so that it expects the page queues to be locked
on entry and it assumes the responsibility for releasing the page queues
lock if it must sleep.

Remove a bogus comment from pmap_enter_quick().

Using the first change, modify vm_map_pmap_enter() so that the page queues
lock is acquired and released once, rather than each time that a page
is mapped.
2004-12-23 20:16:11 +00:00
Olivier Houchard
e1e6b9d3c6 - The IQ80321 has a jumper which changes the PCI device id from 4 to 8 for the
GigE controller, so handle this.
- Use the outbound window 0 if the PCI mem requested is in its range, instead
of inconditionally use the outbound window 1.
This should be enough to get FreeBSD/arm to work on the IQ80321 board as well.

Reported and tested by: Jia-Shiun Li <jiashiun at gmail dot com>
2004-12-21 11:36:09 +00:00
Olivier Houchard
885dabe5f7 Update the StrongArm port to match the current code.
- Implement arm_mask_irqs and arm_unmask_irqs
- Provide the available physical address range after pmap_bootstrap allocated
things, instead or before, or bad things happen.
2004-12-18 17:58:49 +00:00
Olivier Houchard
31e3e209b1 Make sure gcc doesn't generate something such as swp r3, r4, [r3] for __swp,
as it has unpredictable results.
2004-12-18 17:43:01 +00:00
Alan Cox
85f5b24573 In the common case, pmap_enter_quick() completes without sleeping.
In such cases, the busying of the page and the unlocking of the
containing object by vm_map_pmap_enter() and vm_fault_prefault() is
unnecessary overhead.  To eliminate this overhead, this change
modifies pmap_enter_quick() so that it expects the object to be locked
on entry and it assumes the responsibility for busying the page and
unlocking the object if it must sleep.  Note: alpha, amd64, i386 and
ia64 are the only implementations optimized by this change; arm,
powerpc, and sparc64 still conservatively busy the page and unlock the
object within every pmap_enter_quick() call.

Additionally, this change is the first case where we synchronize
access to the page's PG_BUSY flag and busy field using the containing
object's lock rather than the global page queues lock.  (Modifications
to the page's PG_BUSY flag and busy field have asserted both locks for
several weeks, enabling an incremental transition.)
2004-12-15 19:55:05 +00:00
Olivier Houchard
44dd466610 Enable interrupts once the active ones have been masked. 2004-12-14 18:57:21 +00:00
Olivier Houchard
353d54aa83 Update the sp after popping the regs.
This is a good candidate for the golden pointy hat awards.
2004-12-14 18:45:05 +00:00
Olivier Houchard
eb64032876 Save a few more cycles in cpu_switch() and cpu_throw(). 2004-12-12 19:21:58 +00:00
Olivier Houchard
cb13ab5bd1 Fix style. 2004-12-11 23:56:03 +00:00
Olivier Houchard
6cf1dd4f37 Add entries to trace syscalls with KTR. 2004-12-11 23:54:03 +00:00
Olivier Houchard
fd4d461166 Fix compilation with INVARIANTS. 2004-12-11 14:46:52 +00:00
Olivier Houchard
84b30e2247 s/RETEQ/RETeq/. 2004-12-10 16:49:08 +00:00
Olivier Houchard
f4427f30f7 Include <sys/signalvar.h> for trapsignal(). 2004-12-07 17:39:42 +00:00
Olivier Houchard
79f40e185d Make sure to map the whole kernel into 1MB pages. Try to use the remaining
memory for things such as the kernel stack.
2004-12-05 22:48:04 +00:00
Olivier Houchard
f4deb15f08 Reactivate the use of the minidata cache. 2004-12-05 22:47:25 +00:00
Olivier Houchard
4090854334 Do not change the page directory and do not flush the TLB when switching to
a kernel thread.
2004-12-05 22:46:59 +00:00
Olivier Houchard
b62e66eb1f Remove an unused field from the struct pv_entry.
While I'm there, fix style.
2004-12-05 22:46:30 +00:00
Olivier Houchard
28ec399c5a Include <sys/signalvar.h> for trapsignal(). 2004-12-02 23:31:48 +00:00
David Schultz
6004362e66 Don't include sys/user.h merely for its side-effect of recursively
including other headers.
2004-11-27 06:51:39 +00:00
Olivier Houchard
a27952c1a9 Enable interrupts as soon as the pending interrupts have been masked. 2004-11-23 16:31:16 +00:00
Olivier Houchard
6054abc495 Use ns8250. 2004-11-23 16:30:50 +00:00
Olivier Houchard
b1ff74ebb3 Cleanup. 2004-11-21 19:41:27 +00:00
Olivier Houchard
7fc1bf0371 Set the frame pointer to 0 in fork_trampoline(). 2004-11-21 19:33:47 +00:00
Olivier Houchard
9ebe15a1d7 Implement breakpoints and single stepping on arm.
Obtained from:	NetBSD
2004-11-21 18:11:39 +00:00