mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 10:53:16 +01:00
Changed all pager hardcoded value assumptions, too.
Not tested.
This commit is contained in:
@@ -1,14 +1,11 @@
|
||||
#ifndef __INITTASK_ARCH_MM_H__
|
||||
#define __INITTASK_ARCH_MM_H__
|
||||
|
||||
#include <arch/offsets.h>
|
||||
#include <l4/macros.h>
|
||||
#include <l4/types.h>
|
||||
#include INC_GLUE(memory.h)
|
||||
#include <vm_area.h>
|
||||
|
||||
#define INITTASK_ADDR(x) ((x >= INITTASK_AREA_START) && (x < INITTASK_AREA_END))
|
||||
|
||||
struct fault_data;
|
||||
unsigned int vm_prot_flags(pte_t pte);
|
||||
void set_generic_fault_params(struct fault_data *fault);
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef __INITTASK_ARCH_OFFSETS_H__
|
||||
#define __INITTASK_ARCH_OFFSETS_H__
|
||||
|
||||
#define INITTASK_AREA_START 0xE0000000
|
||||
#define INITTASK_AREA_END 0xF0000000
|
||||
|
||||
#define INITTASK_OFFSET INITTASK_AREA_START
|
||||
|
||||
#endif
|
||||
@@ -113,8 +113,8 @@ int pager_setup_task(void)
|
||||
task->map_end = PAGER_MMAP_END;
|
||||
|
||||
/* Task's total map boundaries */
|
||||
task->start = task->text_start;
|
||||
task->end = 0xF0000000;
|
||||
task->start = __pfn_to_addr(cont_mem_regions.pager->start);
|
||||
task->end = __pfn_to_addr(cont_mem_regions.pager->end);
|
||||
|
||||
/*
|
||||
* Map all regions as anonymous (since no real
|
||||
@@ -142,7 +142,8 @@ int pager_setup_task(void)
|
||||
* microkernel for this pager. Ensure that we also get
|
||||
* the same from our internal utcb bookkeeping.
|
||||
*/
|
||||
BUG_ON(task->utcb_address != __pfn_to_addr(cont_mem_regions.utcb->start));
|
||||
BUG_ON(task->utcb_address !=
|
||||
__pfn_to_addr(cont_mem_regions.utcb->start));
|
||||
|
||||
/* Pager must prefault its utcb */
|
||||
prefault_page(task, task->utcb_address,
|
||||
|
||||
@@ -57,10 +57,11 @@ static struct pager_virtual_address_id_pool {
|
||||
*/
|
||||
int pager_address_pool_init(void)
|
||||
{
|
||||
address_pool_init_with_idpool(&pager_vaddr_pool,
|
||||
(struct id_pool *)
|
||||
&pager_virtual_address_id_pool,
|
||||
PAGER_MMAP_END, 0xF0000000);
|
||||
address_pool_init_with_idpool(&pager_vaddr_pool,
|
||||
(struct id_pool *)
|
||||
&pager_virtual_address_id_pool,
|
||||
PAGER_MMAP_END,
|
||||
__pfn_to_addr(cont_mem_regions.pager->end));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user