47,21 → 47,21 |
|
#define NAME "klog" |
|
#define KLOG_SIZE PAGE_SIZE |
|
/* Pointer to klog area */ |
static wchar_t *klog; |
static count_t klog_length; |
static char *klog; |
|
static void interrupt_received(ipc_callid_t callid, ipc_call_t *call) |
{ |
async_serialize_start(); |
|
count_t klog_start = (count_t) IPC_GET_ARG1(*call); |
count_t klog_len = (count_t) IPC_GET_ARG2(*call); |
count_t klog_stored = (count_t) IPC_GET_ARG3(*call); |
count_t i; |
|
size_t klog_start = (size_t) IPC_GET_ARG1(*call); |
size_t klog_len = (size_t) IPC_GET_ARG2(*call); |
size_t klog_stored = (size_t) IPC_GET_ARG3(*call); |
size_t i; |
for (i = klog_len - klog_stored; i < klog_len; i++) |
putchar(klog[(klog_start + i) % klog_length]); |
putchar(klog[(klog_start + i) % KLOG_SIZE]); |
|
async_serialize_end(); |
} |
70,20 → 70,16 |
{ |
console_wait(); |
|
count_t klog_pages = sysinfo_value("klog.pages"); |
size_t klog_size = klog_pages * PAGE_SIZE; |
klog_length = klog_size / sizeof(wchar_t); |
|
klog = (wchar_t *) as_get_mappable_page(klog_pages); |
klog = (char *) as_get_mappable_page(KLOG_SIZE); |
if (klog == NULL) { |
printf(NAME ": Error allocating memory area\n"); |
return -1; |
} |
|
printf("got area at 0x%08lx, length %lx byes\n", klog, klog_size); |
printf("got area at 0x%08lx, length %lx byes\n", klog, KLOG_SIZE); |
|
int res = ipc_share_in_start_1_0(PHONE_NS, (void *) klog, |
klog_size, SERVICE_MEM_KLOG); |
int res = ipc_share_in_start_1_0(PHONE_NS, (void *) klog, KLOG_SIZE, |
SERVICE_MEM_KLOG); |
if (res != EOK) { |
printf(NAME ": Error initializing memory area\n"); |
return -1; |