Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 491 → Rev 492

/SPARTAN/trunk/test/mm/mapping1/test.c
55,9 → 55,9
*((__u32 *) frame1) = VALUE1;
printf("Mapping virtual address %P to physical address %P.\n", PAGE0, KA2PA(frame0));
map_page_to_frame(PAGE0, KA2PA(frame0), PAGE_PRESENT | PAGE_WRITE, 0);
page_mapping_insert(PAGE0, KA2PA(frame0), PAGE_PRESENT | PAGE_WRITE, 0);
printf("Mapping virtual address %P to physical address %P.\n", PAGE1, KA2PA(frame1));
map_page_to_frame(PAGE1, KA2PA(frame1), PAGE_PRESENT | PAGE_WRITE, 0);
page_mapping_insert(PAGE1, KA2PA(frame1), PAGE_PRESENT | PAGE_WRITE, 0);
printf("Value at virtual address %P is %L.\n", PAGE0, v0 = *((__u32 *) PAGE0));
printf("Value at virtual address %P is %L.\n", PAGE1, v1 = *((__u32 *) PAGE1));
/SPARTAN/trunk/genarch/src/acpi/acpi.c
79,7 → 79,7
 
static void map_sdt(struct acpi_sdt_header *sdt)
{
map_page_to_frame((__address) sdt, (__address) sdt, PAGE_NOT_CACHEABLE, 0);
page_mapping_insert((__address) sdt, (__address) sdt, PAGE_NOT_CACHEABLE, 0);
map_structure((__address) sdt, sdt->length);
}
 
/SPARTAN/trunk/generic/include/mm/page.h
107,8 → 107,8
#define SET_FRAME_FLAGS(ptl3, i, x) SET_FRAME_FLAGS_ARCH(ptl3, i, x)
 
extern void page_init(void);
extern void map_page_to_frame(__address page, __address frame, int flags, __address root);
extern pte_t *find_mapping(__address page, __address root);
extern void page_mapping_insert(__address page, __address frame, int flags, __address root);
extern pte_t *page_mapping_find(__address page, __address root);
extern void map_structure(__address s, size_t size);
 
#endif
/SPARTAN/trunk/generic/src/mm/vm.c
161,7 → 161,7
 
ASSERT(m->ptl0);
for (i=0; i<a->size; i++)
map_page_to_frame(a->address + i*PAGE_SIZE, a->mapping[i], flags, (__address) m->ptl0);
page_mapping_insert(a->address + i*PAGE_SIZE, a->mapping[i], flags, (__address) m->ptl0);
spinlock_unlock(&a->lock);
spinlock_unlock(&m->lock);
179,7 → 179,7
 
ASSERT(m->ptl0);
for (i=0; i<a->size; i++)
map_page_to_frame(a->address + i*PAGE_SIZE, 0, PAGE_NOT_PRESENT, (__address) m->ptl0);
page_mapping_insert(a->address + i*PAGE_SIZE, 0, PAGE_NOT_PRESENT, (__address) m->ptl0);
spinlock_unlock(&a->lock);
spinlock_unlock(&m->lock);
/SPARTAN/trunk/generic/src/mm/page.c
37,7 → 37,7
void page_init(void)
{
page_arch_init();
map_page_to_frame(0x0, 0x0, PAGE_NOT_PRESENT, 0);
page_mapping_insert(0x0, 0x0, PAGE_NOT_PRESENT, 0);
}
 
/** Map memory structure
57,7 → 57,7
cnt = length/PAGE_SIZE + (length%PAGE_SIZE>0);
 
for (i = 0; i < cnt; i++)
map_page_to_frame(s + i*PAGE_SIZE, s + i*PAGE_SIZE, PAGE_NOT_CACHEABLE, 0);
page_mapping_insert(s + i*PAGE_SIZE, s + i*PAGE_SIZE, PAGE_NOT_CACHEABLE, 0);
 
}
 
71,7 → 71,7
* @param flags Flags to be used for mapping.
* @param root Explicit PTL0 address.
*/
void map_page_to_frame(__address page, __address frame, int flags, __address root)
void page_mapping_insert(__address page, __address frame, int flags, __address root)
{
pte_t *ptl0, *ptl1, *ptl2, *ptl3;
__address newpt;
118,7 → 118,7
*
* @return NULL if there is no such mapping; entry from PTL3 describing the mapping otherwise.
*/
pte_t *find_mapping(__address page, __address root)
pte_t *page_mapping_find(__address page, __address root)
{
pte_t *ptl0, *ptl1, *ptl2, *ptl3;
 
/SPARTAN/trunk/arch/amd64/src/mm/page.c
53,7 → 53,7
* PA2KA(identity) mapping for all frames.
*/
for (i = 0; i < config.memory_size/FRAME_SIZE; i++) {
map_page_to_frame(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE | PAGE_EXEC, KA2PA(dba));
page_mapping_insert(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE | PAGE_EXEC, KA2PA(dba));
}
 
trap_register(14, page_fault);
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
366,7 → 366,7
/*
* Handler cannot succeed if badvaddr has no mapping.
*/
pte = find_mapping(badvaddr, 0);
pte = page_mapping_find(badvaddr, 0);
if (!pte) {
printf("No such mapping.\n");
return NULL;
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
63,9 → 63,9
}
 
if (config.cpu_count > 1) {
map_page_to_frame((__address)l_apic, (__address)l_apic,
page_mapping_insert((__address)l_apic, (__address)l_apic,
PAGE_NOT_CACHEABLE, 0);
map_page_to_frame((__address) io_apic,
page_mapping_insert((__address) io_apic,
(__address) io_apic,
PAGE_NOT_CACHEABLE, 0);
}
/SPARTAN/trunk/arch/ia32/src/mm/page.c
56,7 → 56,7
* PA2KA(identity) mapping for all frames.
*/
for (i = 0; i < config.memory_size/PAGE_SIZE; i++)
map_page_to_frame(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE, KA2PA(dba));
page_mapping_insert(PA2KA(i * PAGE_SIZE), i * PAGE_SIZE, PAGE_CACHEABLE, KA2PA(dba));
 
trap_register(14, page_fault);
write_cr3(KA2PA(dba));
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
49,7 → 49,7
{
__u8 hi, lo;
 
map_page_to_frame(PA2KA(VIDEORAM), VIDEORAM, PAGE_NOT_CACHEABLE, 0);
page_mapping_insert(PA2KA(VIDEORAM), VIDEORAM, PAGE_NOT_CACHEABLE, 0);
outb(0x3d4,0xe);
hi = inb(0x3d5);
outb(0x3d4,0xf);