Partial build fix. Still a lot to do to catch up with Ingo...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39189 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,7 +5,7 @@
|
|||||||
#ifndef ARCH_M68K_VM_H
|
#ifndef ARCH_M68K_VM_H
|
||||||
#define ARCH_M68K_VM_H
|
#define ARCH_M68K_VM_H
|
||||||
|
|
||||||
#include <vm/vm_translation_map.h>
|
#include <vm/VMTranslationMap.h>
|
||||||
|
|
||||||
/* This many pages will be read/written on I/O if possible */
|
/* This many pages will be read/written on I/O if possible */
|
||||||
|
|
||||||
@@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
|
|
||||||
struct m68k_vm_ops {
|
struct m68k_vm_ops {
|
||||||
void *(*m68k_translation_map_get_pgdir)(vm_translation_map *map);
|
void *(*m68k_translation_map_get_pgdir)(VMTranslationMap *map);
|
||||||
status_t (*arch_vm_translation_map_init_map)(vm_translation_map *map, bool kernel);
|
status_t (*arch_vm_translation_map_init_map)(VMTranslationMap *map, bool kernel);
|
||||||
status_t (*arch_vm_translation_map_init_kernel_map_post_sem)(vm_translation_map *map);
|
status_t (*arch_vm_translation_map_init_kernel_map_post_sem)(VMTranslationMap *map);
|
||||||
status_t (*arch_vm_translation_map_init)(kernel_args *args);
|
status_t (*arch_vm_translation_map_init)(kernel_args *args);
|
||||||
status_t (*arch_vm_translation_map_init_post_area)(kernel_args *args);
|
status_t (*arch_vm_translation_map_init_post_area)(kernel_args *args);
|
||||||
status_t (*arch_vm_translation_map_init_post_sem)(kernel_args *args);
|
status_t (*arch_vm_translation_map_init_post_sem)(kernel_args *args);
|
||||||
@@ -42,7 +42,7 @@ extern "C" {
|
|||||||
|
|
||||||
extern struct m68k_vm_ops *get_vm_ops();
|
extern struct m68k_vm_ops *get_vm_ops();
|
||||||
|
|
||||||
extern void *m68k_translation_map_get_pgdir(vm_translation_map *map);
|
extern void *m68k_translation_map_get_pgdir(VMTranslationMap *map);
|
||||||
extern void m68k_set_pgdir(void *rt);
|
extern void m68k_set_pgdir(void *rt);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void m68k_translation_map_change_asid(vm_translation_map *map);
|
void m68k_translation_map_change_asid(VMTranslationMap *map);
|
||||||
|
|
||||||
status_t m68k_map_address_range(addr_t virtualAddress,
|
status_t m68k_map_address_range(addr_t virtualAddress,
|
||||||
phys_addr_t physicalAddress, size_t size);
|
phys_addr_t physicalAddress, size_t size);
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
#include <arch/real_time_clock.h>
|
#include <arch/real_time_clock.h>
|
||||||
|
|
||||||
#include <arch_platform.h>
|
#include <arch_platform.h>
|
||||||
|
#include <boot/kernel_args.h>
|
||||||
#include <real_time_clock.h>
|
#include <real_time_clock.h>
|
||||||
#include <real_time_data.h>
|
#include <real_time_data.h>
|
||||||
#include <smp.h>
|
#include <smp.h>
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ m68k_get_user_iframe(void)
|
|||||||
|
|
||||||
for (i = thread->arch_info.iframes.index - 1; i >= 0; i--) {
|
for (i = thread->arch_info.iframes.index - 1; i >= 0; i--) {
|
||||||
struct iframe *frame = thread->arch_info.iframes.frames[i];
|
struct iframe *frame = thread->arch_info.iframes.frames[i];
|
||||||
if (frame->cpu.sr & (1 << M68K_SR_S) == 0)
|
if ((frame->cpu.sr & (1 << M68K_SR_S)) == 0)
|
||||||
return frame;
|
return frame;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,18 +101,18 @@ m68k_next_page_directory(struct thread *from, struct thread *to)
|
|||||||
}
|
}
|
||||||
// switching to a new address space
|
// switching to a new address space
|
||||||
return m68k_translation_map_get_pgdir(
|
return m68k_translation_map_get_pgdir(
|
||||||
&to->team->address_space->TranslationMap());
|
to->team->address_space->TranslationMap());
|
||||||
} else if (from->team->address_space == NULL && to->team->address_space == NULL) {
|
} else if (from->team->address_space == NULL && to->team->address_space == NULL) {
|
||||||
// they must both be kernel space threads
|
// they must both be kernel space threads
|
||||||
return NULL;
|
return NULL;
|
||||||
} else if (to->team->address_space == NULL) {
|
} else if (to->team->address_space == NULL) {
|
||||||
// the one we're switching to is kernel space
|
// the one we're switching to is kernel space
|
||||||
return m68k_translation_map_get_pgdir(
|
return m68k_translation_map_get_pgdir(
|
||||||
&VMAddressSpace::Kernel()->TranslationMap());
|
VMAddressSpace::Kernel()->TranslationMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
return m68k_translation_map_get_pgdir(
|
return m68k_translation_map_get_pgdir(
|
||||||
&to->team->address_space->TranslationMap());
|
to->team->address_space->TranslationMap());
|
||||||
}
|
}
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ arch_vm_init_post_modules(kernel_args *args)
|
|||||||
void
|
void
|
||||||
arch_vm_aspace_swap(struct VMAddressSpace *from, struct VMAddressSpace *to)
|
arch_vm_aspace_swap(struct VMAddressSpace *from, struct VMAddressSpace *to)
|
||||||
{
|
{
|
||||||
m68k_set_pgdir(m68k_translation_map_get_pgdir(&to->TranslationMap()));
|
m68k_set_pgdir(m68k_translation_map_get_pgdir(to->TranslationMap()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ m68k_vm_ops *get_vm_ops()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void *
|
void *
|
||||||
m68k_translation_map_get_pgdir(vm_translation_map *map)
|
m68k_translation_map_get_pgdir(VMTranslationMap *map)
|
||||||
{
|
{
|
||||||
return get_vm_ops()->m68k_translation_map_get_pgdir(map);
|
return get_vm_ops()->m68k_translation_map_get_pgdir(map);
|
||||||
}
|
}
|
||||||
@@ -71,14 +71,14 @@ m68k_translation_map_get_pgdir(vm_translation_map *map)
|
|||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
arch_vm_translation_map_init_map(vm_translation_map *map, bool kernel)
|
arch_vm_translation_map_init_map(VMTranslationMap *map, bool kernel)
|
||||||
{
|
{
|
||||||
return get_vm_ops()->arch_vm_translation_map_init_map(map, kernel);
|
return get_vm_ops()->arch_vm_translation_map_init_map(map, kernel);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
arch_vm_translation_map_init_kernel_map_post_sem(vm_translation_map *map)
|
arch_vm_translation_map_init_kernel_map_post_sem(VMTranslationMap *map)
|
||||||
{
|
{
|
||||||
return get_vm_ops()->arch_vm_translation_map_init_kernel_map_post_sem(map);
|
return get_vm_ops()->arch_vm_translation_map_init_kernel_map_post_sem(map);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user