A really massive update of kernel.resource. Most remarkably:
commit507c32125a3a9608ff7761200e86ddbb09719832
authorschulz <schulz@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Thu, 25 Sep 2008 07:37:36 +0000 (25 07:37 +0000)
committerschulz <schulz@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Thu, 25 Sep 2008 07:37:36 +0000 (25 07:37 +0000)
tree32c14dfac242bc0315d153326fe89e3a0caf701a
parent1a1eb93e5622e532bf9d4bf385c7c084c350f549
A really massive update of kernel.resource. Most remarkably:
1. Initial support for MMU has been added to kernel.resource. On Efika I use 1MB hash table for page descriptors, which has to be filled properly upon bootup, otherwise user space code would awfully crash with ISI and DSI exceptions. Two new functions have been added:
1a. KrnMapGlobal(virtual, physical, length, protection_flags) - maps physical area in virtual address space globally. For protection flags look at aros/kernel.h
1b. KrnUnmapGlobal(virtual, length) - removes the global mapping.
The MMU map for efika looks recently as follows:

00003000-06ffffff range for public use
f0000000-f002fffc range for MBAR
ff100000-ff123fff range for public read-only access
ff124000-ff7f6fff range for supervisor
ff7f7000-ff7fffff range for read-write
ff800000-ff812fff range for read-only
ff813000-ffffffff range for supervisor

whereas the read-write and read-only regions around ff800000 may vary, depending on modules loaded on boot.

2. The Exception handlers should return a boolean indicating whether the exception has been handled or not. In case of an exception, where all affected handlers have not returned a true (one is enough, though), aros will halt, and should probably reboot in future.
3. The code for interrupt has been added. Now, interrupts from external (on-chip and really external components) should work properly.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@29522 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
arch/ppc-chrp/efika/kernel/ictl.c [new file with mode: 0644]
arch/ppc-chrp/efika/kernel/intr.c
arch/ppc-chrp/efika/kernel/kernel.conf
arch/ppc-chrp/efika/kernel/kernel_init.c
arch/ppc-chrp/efika/kernel/kernel_intern.h
arch/ppc-chrp/efika/kernel/mmakefile.src
arch/ppc-chrp/efika/kernel/mmu.c
arch/ppc-chrp/efika/kernel/syscall.c