/kernel/trunk/generic/src/proc/thread.c |
---|
453,25 → 453,25 |
*/ |
__native sys_thread_create(uspace_arg_t *uspace_uarg, char *uspace_name) |
{ |
thread_t *t; |
char namebuf[THREAD_NAME_BUFLEN]; |
thread_t *t; |
char namebuf[THREAD_NAME_BUFLEN]; |
uspace_arg_t *kernel_uarg; |
__u32 tid; |
copy_from_uspace(namebuf, uspace_name, THREAD_NAME_BUFLEN); |
copy_from_uspace(namebuf, uspace_name, THREAD_NAME_BUFLEN); |
kernel_uarg = (uspace_arg_t *) malloc(sizeof(uspace_arg_t), 0); |
copy_from_uspace(kernel_uarg, uspace_uarg, sizeof(uspace_arg_t)); |
if ((t = thread_create(uinit, kernel_uarg, TASK, 0, namebuf))) { |
if ((t = thread_create(uinit, kernel_uarg, TASK, 0, namebuf))) { |
tid = t->tid; |
thread_ready(t); |
thread_ready(t); |
return (__native) tid; |
} else { |
} else { |
free(kernel_uarg); |
} |
} |
return (__native) -1; |
return (__native) -1; |
} |
/** Process syscall to terminate thread. |
479,7 → 479,7 |
*/ |
__native sys_thread_exit(int uspace_status) |
{ |
thread_exit(); |
/* Unreachable */ |
return 0; |
thread_exit(); |
/* Unreachable */ |
return 0; |
} |
/kernel/trunk/arch/ia64/src/mm/vhpt.c |
---|
File deleted |
/kernel/trunk/arch/ia64/src/mm/tlb.c |
---|
36,7 → 36,6 |
#include <mm/as.h> |
#include <arch/mm/tlb.h> |
#include <arch/mm/page.h> |
#include <arch/mm/vhpt.h> |
#include <arch/barrier.h> |
#include <arch/interrupt.h> |
#include <arch/pal/pal.h> |
79,9 → 78,6 |
srlz_d(); |
srlz_i(); |
#ifdef CONFIG_VHPT |
vhpt_invalidate_all(); |
#endif |
} |
/** Invalidate entries belonging to an address space. |
389,9 → 385,6 |
entry.ps = PAGE_WIDTH; |
dtc_mapping_insert(t->page, t->as->asid, entry); |
#ifdef CONFIG_VHPT |
vhpt_mapping_insert(t->page, t->as->asid, entry); |
#endif |
} |
/** Copy content of PTE into instruction translation cache. |
416,9 → 409,6 |
entry.ps = PAGE_WIDTH; |
itc_mapping_insert(t->page, t->as->asid, entry); |
#ifdef CONFIG_VHPT |
vhpt_mapping_insert(t->page, t->as->asid, entry); |
#endif |
} |
/** Instruction TLB fault handler for faults with VHPT turned off. |
/kernel/trunk/arch/ia64/src/mm/page.c |
---|
31,7 → 31,6 |
#include <genarch/mm/page_ht.h> |
#include <mm/asid.h> |
#include <arch/mm/asid.h> |
#include <arch/mm/vhpt.h> |
#include <arch/types.h> |
#include <typedefs.h> |
#include <print.h> |
59,9 → 58,6 |
region_register rr; |
pta_register pta; |
int i; |
#ifdef CONFIG_VHPT |
__address vhpt_base; |
#endif |
/* |
* First set up kernel region register. |
92,22 → 88,14 |
srlz_d(); |
} |
#ifdef CONFIG_VHPT |
vhpt_base = vhpt_set_up(); |
#endif |
/* |
* Set up PTA register. |
*/ |
pta.word = pta_read(); |
#ifndef CONFIG_VHPT |
pta.map.ve = 0; /* disable VHPT walker */ |
pta.map.base = 0 >> PTA_BASE_SHIFT; |
#else |
pta.map.ve = 1; /* enable VHPT walker */ |
pta.map.base = vhpt_base >> PTA_BASE_SHIFT; |
#endif |
pta.map.vf = 1; /* large entry format */ |
pta.map.size = VHPT_WIDTH; |
pta.map.base = VHPT_BASE >> PTA_BASE_SHIFT; |
pta_write(pta.word); |
srlz_i(); |
srlz_d(); |
/kernel/trunk/arch/ia64/Makefile.inc |
---|
84,7 → 84,6 |
arch/$(ARCH)/src/mm/frame.c \ |
arch/$(ARCH)/src/mm/page.c \ |
arch/$(ARCH)/src/mm/tlb.c \ |
arch/$(ARCH)/src/mm/vhpt.c \ |
arch/$(ARCH)/src/proc/scheduler.c \ |
arch/$(ARCH)/src/ddi/ddi.c \ |
arch/$(ARCH)/src/drivers/it.c |
/kernel/trunk/arch/ia64/include/mm/vhpt.h |
---|
File deleted |
/kernel/trunk/arch/ia64/include/mm/page.h |
---|
60,6 → 60,7 |
#define VHPT_WIDTH 20 /* 1M */ |
#define VHPT_SIZE (1 << VHPT_WIDTH) |
#define VHPT_BASE 0 /* Must be aligned to VHPT_SIZE */ |
#define PTA_BASE_SHIFT 15 |
/kernel/trunk/Makefile |
---|
78,9 → 78,6 |
ifeq ($(CONFIG_DEBUG_ALLREGS),y) |
DEFS += -DCONFIG_DEBUG_ALLREGS |
endif |
ifeq ($(CONFIG_VHPT),y) |
DEFS += -DCONFIG_VHPT |
endif |
## Toolchain configuration |
# |
/kernel/trunk/kernel.config |
---|
77,9 → 77,6 |
# Save all interrupt registers |
! [CONFIG_DEBUG=y&(ARCH=amd64|ARCH=mips32|ARCH=ia32)] CONFIG_DEBUG_ALLREGS (y/n) |
# Use VHPT |
! [ARCH=ia64] CONFIG_VHPT (y/n) |
## Run-time configuration directives |
# Kernel test type |