eclair: query phys memstart on arm64
Change-Id: I32db1153f5c1e4a217db69d8d55f0d0ccfa07c77
This commit is contained in:
committed by
Masamichi Takagi
parent
bf7fd81c1b
commit
32b32f0c4a
@ -5,6 +5,8 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <ihk/ihk_host_user.h>
|
||||
|
||||
uint64_t PHYS_OFFSET;
|
||||
|
||||
int print_kregs(char *rbp, size_t rbp_size, const struct arch_kregs *kregs)
|
||||
{
|
||||
int i, ret, total = 0;
|
||||
@ -105,8 +107,11 @@ uintptr_t virt_to_phys(uintptr_t va)
|
||||
return NOPHYS;
|
||||
} /* virt_to_phys() */
|
||||
|
||||
int arch_setup_constants(void)
|
||||
int arch_setup_constants(int mcos_fd)
|
||||
{
|
||||
int error;
|
||||
dumpargs_t args;
|
||||
|
||||
MAP_KERNEL_START = lookup_symbol("_head");
|
||||
if (MAP_KERNEL_START == NOSYMBOL) {
|
||||
fprintf(stderr, "error: obtaining MAP_KERNEL_START\n");
|
||||
@ -114,7 +119,11 @@ int arch_setup_constants(void)
|
||||
}
|
||||
printf("arm64 MAP_KERNEL_START 0x%lx\n", MAP_KERNEL_START);
|
||||
|
||||
return 0;
|
||||
args.cmd = DUMP_QUERY_PHYS_START;
|
||||
args.buf = &PHYS_OFFSET;
|
||||
|
||||
error = ioctl(mcos_fd, IHK_OS_DUMP, &args);
|
||||
return error;
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@ -2,6 +2,9 @@
|
||||
#ifndef HEADER_USER_ARM64_ECLAIR_H
|
||||
#define HEADER_USER_ARM64_ECLAIR_H
|
||||
|
||||
/* PHYS_OFFSET needs to be changed according to the environment. */
|
||||
extern uint64_t PHYS_OFFSET;
|
||||
|
||||
#ifdef CONFIG_ARM64_64K_PAGES
|
||||
#
|
||||
# if (CONFIG_ARM64_VA_BITS == 42)
|
||||
|
||||
@ -122,7 +122,7 @@ uintptr_t virt_to_phys(uintptr_t va)
|
||||
return NOPHYS;
|
||||
} /* virt_to_phys() */
|
||||
|
||||
int arch_setup_constants(void)
|
||||
int arch_setup_constants(int mcos_fd)
|
||||
{
|
||||
MAP_KERNEL_START = lookup_symbol("_head");
|
||||
if (MAP_KERNEL_START == NOSYMBOL) {
|
||||
|
||||
@ -231,7 +231,7 @@ static int setup_constants(void) {
|
||||
int error;
|
||||
uintptr_t va;
|
||||
|
||||
error = arch_setup_constants();
|
||||
error = arch_setup_constants(opt.mcos_fd);
|
||||
if (error) {
|
||||
fprintf(stderr, "error: setting up arch constants\n");
|
||||
return 1;
|
||||
|
||||
@ -25,7 +25,7 @@ int arch_read_kregs(unsigned long ctx, struct arch_kregs *kregs);
|
||||
#define NOPHYS ((uintptr_t)-1)
|
||||
uintptr_t virt_to_phys(uintptr_t va);
|
||||
|
||||
int arch_setup_constants(void);
|
||||
int arch_setup_constants(int mcos_fd);
|
||||
|
||||
//#define DEBUG
|
||||
#ifdef DEBUG
|
||||
|
||||
2
ihk
2
ihk
Submodule ihk updated: 961151b74f...f0ef7f641f
Reference in New Issue
Block a user