John-Mark Gurney
de71467ca7
make bus_dmamem_alloc always allocate a new map like we are suppose to..
...
This was found when I tried to run the usb code on my arm board...
Approved by: cognet
2005-03-16 00:35:59 +00:00
John-Mark Gurney
19015c15ed
fix arm wrt to busdma...
...
also wrap the two macros that have bare if's w/ do {} while(0) so that
my epe driver doesn't get a warning about braces around confused else...
2005-03-15 14:57:30 +00:00
Scott Long
5974e5c71c
Refactor the bus_dma header files so that the interface is described in
...
sys/bus_dma.h instead of being copied in every single arch. This slightly
reorders a flag that was specific to AXP and thus changes the ABI there.
The interface still relies on bus_space definitions found in <machine/bus.h>
so it cannot be included on its own yet, but that will be fixed at a later
date. Add an MD <machine/bus_dma.h> for ever arch for consistency and to
allow for future MD augmentation of the API. sparc64 makes heavy use of
this right now due to its different bus_dma implemenation.
2005-03-14 16:46:28 +00:00
Maxime Henrion
68d9d1e64e
Fixup KTR traces.
2005-03-08 14:49:05 +00:00
Maxime Henrion
5d18cf7825
Use __func__ in the KTR_BUSDMA traces. This avoids copy and paste
...
errors like in the bus_dmamap_load_mbuf_sg() case where we were wrongly
displaying the function name as bus_dmamap_load_mbuf.
2005-03-08 11:18:14 +00:00
Maxime Henrion
cebf474d0d
Fix typo.
2005-03-07 00:24:52 +00:00
Olivier Houchard
7a7e7cf91e
Use [ldr|str]t instead of [ldr|str] when accessing ARM_TP_ADDRESS.
2005-03-06 21:12:03 +00:00
Olivier Houchard
da53588551
Make sure ARM_TP_ADDRESS is accessible right now by calling pmap_fault_fixup,
...
as we can't rely on a trap happening, as it is done normally.
While I'm there, uncomment the call to cpu_dcache_wbinv_range() in
pmap_kenter_internal, as we don't call cpu_dcache_wbinv_all() there anymore.
2005-03-06 21:10:31 +00:00
Olivier Houchard
2ba823e954
Unlike NetBSD's bcopy(), our bcopy allows the two strings to overlap, even in
...
kernel. So bring in the userland version, instead of just calling memcpy.
2005-03-06 13:11:32 +00:00
Olivier Houchard
f18b179cc9
Handle endianness correctly.
...
Spotted out by: jmg
2005-03-03 23:27:09 +00:00
Joerg Wunsch
a5f50ef9e4
netchild's mega-patch to isolate compiler dependencies into a central
...
place.
This moves the dependency on GCC's and other compiler's features into
the central sys/cdefs.h file, while the individual source files can
then refer to #ifdef __COMPILER_FEATURE_FOO where they by now used to
refer to #if __GNUC__ > 3.1415 && __BARC__ <= 42.
By now, GCC and ICC (the Intel compiler) have been actively tested on
IA32 platforms by netchild. Extension to other compilers is supposed
to be possible, of course.
Submitted by: netchild
Reviewed by: various developers on arch@, some time ago
2005-03-02 21:33:29 +00:00
Olivier Houchard
35e75c686f
In cpu_throw(), correctly calculate td->td_md.md_tp.
...
In cpu_switch(), set the DACR even if we're switching to a kernel thread.
2005-03-01 20:51:37 +00:00
Olivier Houchard
c598a8a25c
Introduce realmem.
2005-03-01 20:12:52 +00:00
Olivier Houchard
f4c01f1508
Instead of using sysarch() to store-retrieve the tp, add a magic address,
...
ARM_TP_ADDRESS, where the tp will be stored. On CPUs that support it, a cache
line will be allocated and locked for this address, so that it will never go
to RAM. On CPUs that does not, a page is allocated for it (it will be a bit
slower, and is wrong for SMP, but should be fine for UP).
The tp is still stored in the mdthread struct, and at each context switch,
ARM_TP_ADDRESS gets updated.
Suggested by: davidxu
2005-02-26 18:59:01 +00:00
Olivier Houchard
b6e4194946
Add the field in the md part of the struct thread required by ARM_[GET|SET]_TP.
2005-02-26 00:02:14 +00:00
Olivier Houchard
a74985cdd4
Implement two new sysarch for arm, ARM_GET_TP and ARM_SET_TP, to work around
...
the lack of tls on arm.
2005-02-25 22:56:16 +00:00
Olivier Houchard
38e285f83a
Make sure casuptr() reset pcb->pcb_onfault when returning.
2005-02-25 22:54:56 +00:00
Olivier Houchard
6d4b3b4cb5
MFp4: get the code that set the pc correctly to work, remove a few IQ31244
...
specific mappings from locore.S, re-organize iq31244_machdep.c to work with
the new locore.S
Spotted out by: jmg
2005-02-20 21:34:59 +00:00
Olivier Houchard
2f5f750d3c
Removing the #endif as well sounds like a good idea.
2005-02-20 01:26:01 +00:00
Olivier Houchard
8c06401dab
In cpufunc_control, uncomment the code responsible for returning the old
...
state of the control register.
2005-02-20 01:24:46 +00:00
Ruslan Ermilov
3971d2cf5e
Use a common multi-inclusion protection, and add such a
...
protection to alpha/include/exec.h.
2005-02-19 21:16:48 +00:00
Olivier Houchard
1a34245881
Support high vectors for arm9.
...
Obtained from: NetBSD
2005-02-18 17:29:12 +00:00
Olivier Houchard
31d0686d2d
Define NIRQ to 64 for CPU_ARM9, because Cirrus Logic EP93XX cores provides
...
64 irqs.
This should be re-thought later.
2005-02-13 18:26:31 +00:00
Olivier Houchard
014ef5788e
Remove unused prototype.
2005-02-13 18:20:39 +00:00
Olivier Houchard
b4274227d1
Remove redondant includes.
2005-02-13 18:05:36 +00:00
Olivier Houchard
52bd27f431
Don't prototype pmap_kenter().
2005-02-13 17:18:20 +00:00
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