Olivier Houchard
ee8ecea34b
MFp4:
...
- Try hard to calculate a safe sp, so that the stack doesn't get smashed
while uncompressing or relocating the kernel.
- Bring in code needed to calculate the cacheline size etc, needed for
arm9_idcache_wbinv_all.
2006-06-12 22:58:50 +00:00
Olivier Houchard
9464ffd0a4
MFp4: Increase the L1 pagetable needed for the kernel from 8 to 22, to be
...
able to boot fat kernels.
2006-06-12 22:57:24 +00:00
Alan Cox
fd5cb69756
Remove pmap_pagedaemon_waken and update pmap_get_pv_entry() to match the
...
current interface with the machine-independent layer. Without this change,
the page daemon would only have been awakened the first time that the
number of pv entries went above the high water mark, not each time.
2006-06-11 04:53:06 +00:00
Alan Cox
2087cafb70
Eliminate spl calls.
2006-06-11 04:14:36 +00:00
Alan Cox
8bf9b9233d
Add a lock assertion. Remove dead (locking) code. Change some white
...
space.
Reviewed by: cognet@
2006-06-10 05:20:18 +00:00
Alan Cox
24ea27ad1a
Add pmap locking to pmap_extract().
...
Tested by: cognet@
2006-06-09 03:54:20 +00:00
Olivier Houchard
2d0105632f
Oops it seems I forgot to remove ARM32_NEW_VM_LAYOUT from here.
2006-06-07 22:41:14 +00:00
Alan Cox
f6ed7d306b
Add pmap locking to pmap_fault_fixup().
...
Add an assertion to pmap_vac_me_harder().
Tested by: cognet@
2006-06-07 20:54:31 +00:00
Alan Cox
7a5f63430e
Properly synchronize access to the pmap in pmap_extract_and_hold().
...
Eliminate an unneeded variable from pmap_extract_and_hold().
Tested by: cognet@
2006-06-07 17:14:48 +00:00
Olivier Houchard
c1bfc47fa7
Now that we use pmap_mapdev_boostrap(), we can get ride of the got_mmu
...
hack.
Submitted by: kevlo
2006-06-07 11:28:17 +00:00
Warner Losh
3dcdad9a11
Remove sa1_cache_clean_addr. It isn't needed.
...
Submitted by: kevlo
2006-06-07 05:36:10 +00:00
Olivier Houchard
d661dc8070
Convert the last offender, the SA1110 port, to ARM32_NEW_VM_LAYOUT, and
...
completely nuke the !ARM32_NEW_VM_LAYOUT case.
2006-06-06 21:06:57 +00:00
Olivier Houchard
410a42a1b6
Remove a bogus, useless, "i++".
2006-06-06 20:47:59 +00:00
Alan Cox
d39d8f0f8c
Add partial pmap locking.
...
Tested by: cognet@
2006-06-06 17:27:53 +00:00
Alan Cox
ed48a217f6
Add partial pmap locking.
...
Eliminate the unused allpmaps list.
Tested by: cognet@
2006-06-06 04:32:20 +00:00
Olivier Houchard
f14c3a8aac
Make VERBOSE_INIT_ARM compile by fixing various printf formats, and add it
...
as an option.
Submitted by: Max N. Boyarov <m.boyarov at bsd dot by>
2006-06-06 01:14:12 +00:00
Olivier Houchard
ceff114886
vm_page_alloc_contig() can sleep, so don't even think about using it
...
in the M_NOWAIT case.
2006-06-05 23:42:47 +00:00
Alan Cox
ce142d9ec0
Introduce the function pmap_enter_object(). It maps a sequence of resident
...
pages from the same object. Use it in vm_map_pmap_enter() to reduce the
locking overhead of premapping objects.
Reviewed by: tegge@
2006-06-05 20:35:27 +00:00
Olivier Houchard
b2adc703fd
Don't #error if no CPU is defined but we're not compiling the kernel.
2006-06-02 09:39:06 +00:00
Olivier Houchard
27b45ae819
Don't enable the FIQ in enable_interrupts() if F32_bit is not specified.
...
This has been committed by mistake.
Reported by: ssouhlal
2006-06-01 16:17:44 +00:00
Alan Cox
d49e4d3f55
Introduce pmap_enter_locked() and use it to reimplement pmap_enter_quick().
...
Tested by: cognet@
2006-06-01 01:31:07 +00:00
Olivier Houchard
c7f17eb45c
Avoid a LOR by unlocking the vm_page_queue_mtx before calling uma_zalloc,
...
and freeing the allocated memory if another thread already did the same.
2006-05-31 15:52:11 +00:00
Olivier Houchard
4cd3385ee3
If our buffer is not aligned on the cache line size, write back/invalidate
...
the first and last cache line in PREREAD, and just invalidate the cache
lines in POSTREAD, instead of write-back/invalidating in POSTREAD, which
could lead to stale data overriding what has been transfered by DMA.
2006-05-31 15:50:33 +00:00
Olivier Houchard
c712f1ef5b
Ooops arm10 is armv5, not armv4.
...
Submitted by: kevlo
2006-05-31 13:06:08 +00:00
Olivier Houchard
87adbb81cc
Include machine/cpuconf.h in pmap.h in order to get ARM_NMMUS defined,
...
to appease -Wundef.
2006-05-31 11:57:37 +00:00
Olivier Houchard
1dbb640331
Protect the mapping used for pmap_copy_page/pmap_zero_page with a
...
mutex.
2006-05-30 23:50:45 +00:00
Olivier Houchard
b64b87c8bd
To avoid problems, invalidate the data cache and disable the MMU once
...
we're done uncompressing the kernel.
2006-05-30 21:13:47 +00:00
Olivier Houchard
51036d9b71
In pmap_is_prefaultable(), assert that the pte isn't NULL if
...
pmap_get_pde_pte() returns TRUE.
Suggested by: ssouhlal
2006-05-30 16:55:38 +00:00
Olivier Houchard
29d1651fc5
The Assabet has 32MB of RAM, not 16.
...
Submitted by: kevlo
2006-05-30 15:47:55 +00:00
Benno Rice
1108c31908
In pmap_mapdev we correctly round the address off to the nearest page
...
boundary, but we must also add the offset back on to the va we return.
2006-05-30 14:21:09 +00:00
Olivier Houchard
ec4c4a14f5
Uncomment the call to cpu_idcache_wbinv_all() after the MMU has been
...
enabled. It has been commented out for a reason I forgot but I suspect
does not apply anymore.
Technically speaking it's not required to do it, has the data and the
instruction cache have been disabled in _start(). However, it may change
in the future, so I don't want to rely on this behavior.
Submitted by: kevlo
2006-05-30 11:51:58 +00:00
Olivier Houchard
e1f01b09a6
Nuke sa11x0_attach_args. It's a NetBSDIsm, and we have no use for it.
...
Submitted by: kevlo
2006-05-29 19:32:32 +00:00
Olivier Houchard
c212f0efe9
Remove any reference to enable_mmu(), it's been gone for a long time.
...
Submitted by: kevlo
2006-05-26 01:41:47 +00:00
Olivier Houchard
fb350a0d6a
Use pmap_devmap_bootstrap(), instead of mapping the SACOM1 registers
...
with pmap_map_entry.
More use of macros instead of hardcoding the addr.
Submitted by: kevlo
2006-05-23 12:14:14 +00:00
Olivier Houchard
9c8c02e7a0
Use macros instead of hardcoding the address for SACOM1. Also don't
...
pretend we're working with SACOM3, as we're really mapping SACOM1.
Submitted by: kevlo
2006-05-22 23:25:34 +00:00
Olivier Houchard
d3e6e0e6f6
We have an implementation of generic_bs_rr_1, so use it, as some drivers use
...
it.
Submitted by: kevlo
2006-05-19 11:27:02 +00:00
Olivier Houchard
c166cceecc
Comment out SYSCTL_OMIT_DESCR until it's committed.
2006-05-19 00:11:21 +00:00
Olivier Houchard
ac895519de
Implement sa11x0_bs_unmap.
...
Submitted by: kevlo
2006-05-18 22:03:47 +00:00
Olivier Houchard
b012edd4ed
Make this compile (UART_IPEND_* => SER_INT_*).
2006-05-18 22:02:33 +00:00
Olivier Houchard
ec21307611
Add definitions for atomic_subtract_rel_32, atomic_add_rel_32 and
...
atomic_load_acq_32, needed for hwpmc.
2006-05-15 13:08:12 +00:00
Benno Rice
0b6d552a34
Display real/avail memory as per other platforms.
...
Approved by: cognet
2006-05-15 10:40:37 +00:00
Olivier Houchard
ef4d5877dd
Switch to a 64bit time_t, while it's not a big problem to do so.
...
Suggested by: imp
2006-05-15 00:17:27 +00:00
Olivier Houchard
d5d776c16b
Resurrect Skyeye support :
...
Add a new option, SKYEYE_WORKAROUNDS, which as the name suggests adds
workarounds for things skyeye doesn't simulate. Specifically :
- Use USART0 instead of DBGU as the console, make it not use DMA, and manually provoke an interrupt when we're done in the transmit function.
- Skyeye maintains an internal counter for clock, but apparently there's
no way to access it, so hack the timecounter code to return a value which
is increased at every clock interrupts. This is gross, but I didn't find a
better way to implement timecounters without hacking Skyeye to get the
counter value.
- Force the write-back of PTEs once we're done writing them, even if they
are supposed to be write-through. I don't know why I have to do that.
2006-05-13 23:41:16 +00:00
Warner Losh
9c5b312952
Tidy up a bit...
2006-05-13 02:47:39 +00:00
Poul-Henning Kamp
5405ab4889
Clean out sysctl machdep.* related defines.
...
The cmos clock related stuff should really be in MI code.
2006-05-11 17:29:25 +00:00
Olivier Houchard
053105371f
Get this to compile :
...
- The prototype of uart_bus_probe() hasn't been changed in cvs yet, so use the
old one.
- Add at91_pdcreg.h, needed by uart_dev_at91usart.c.
2006-05-11 14:30:28 +00:00
Olivier Houchard
04091343f6
Move the call to cpu_setup() before the call to vm_ksubmap_init().
...
vm_ksubmap_init() calls pmap_copy_page(), which uses the mini data cache
to do the copy, but we're running uncaching before cpu_setup().
For some reason it hasn't been a problem so far, but it is for the
PXA255.
Spotted out by: benno
2006-05-10 13:39:10 +00:00
Olivier Houchard
4687ab54e3
Setting the rid of the resource is a good idea, but we still need to return
...
the resource after.
2006-05-05 19:14:57 +00:00
Olivier Houchard
477d836c4d
MFother arches :
...
date: 2006/04/12 04:22:50; author: alc; state: Exp; lines: +14 -41
Retire pmap_track_modified(). We no longer need it because we do not
create managed mappings within the clean submap. To prevent regressions,
add assertions blocking the creation of managed mappings within the clean
submap.
Reviewed by: tegge
2006-04-22 22:51:32 +00:00
Warner Losh
018dc558f6
When returning a resource that we've allocated with rman_reserve_resource,
...
go ahead and set the rid for that resource.
2006-04-20 04:12:02 +00:00