From 1e84bcedc9aaca3b1efd8009cfb4e22d19d1dc78 Mon Sep 17 00:00:00 2001 From: RaphProductions <81994075+RaphProductions@users.noreply.github.com> Date: Fri, 16 May 2025 20:53:35 +0200 Subject: [PATCH] vfs - kinda good vfs implementation --- kernel/src/dbg/sym.c | 56 + kernel/src/dbg/sym.h | 12 + kernel/src/exec/elf.h | 30 +- kernel/src/fs/hellofs.c | 101 ++ kernel/src/fs/hellofs.h | 5 + kernel/src/fs/vfs.c | 93 ++ kernel/src/fs/vfs.h | 9 +- kernel/src/lib/string.c | 54 + kernel/src/lib/string.h | 3 +- kernel/src/main.c | 29 +- kernel/src/mm/vmm.c | 2 +- strings.txt | 2709 +++++++++++++++++++++++++++++++++++++++ txt.txt | 559 ++++++++ 13 files changed, 3650 insertions(+), 12 deletions(-) create mode 100644 kernel/src/dbg/sym.c create mode 100644 kernel/src/dbg/sym.h create mode 100644 kernel/src/fs/hellofs.c create mode 100644 kernel/src/fs/hellofs.h create mode 100644 strings.txt create mode 100644 txt.txt diff --git a/kernel/src/dbg/sym.c b/kernel/src/dbg/sym.c new file mode 100644 index 0000000..2d03766 --- /dev/null +++ b/kernel/src/dbg/sym.c @@ -0,0 +1,56 @@ +#include "dbg/sym.h" +#include "exec/elf.h" +#include "limine.h" +#include "sys/errhnd/panic.h" +#include "sys/log.h" +#include +#include + +static Elf64_Sym *__ksym_symtab; +static char *__ksym_strtab; +static int __ksym_symcount = 0; + +__attribute__((used, section(".limine_requests"))) static volatile struct + limine_executable_file_request exec_file_rq = { + .id = LIMINE_EXECUTABLE_FILE_REQUEST, .revision = 3}; + +void ksym_init() { + char *img = exec_file_rq.response->executable_file->address; + Elf64_Ehdr *ehdr = (Elf64_Ehdr *)img; + if (ehdr->e_ident[EI_MAG0] != ELFMAG0 || ehdr->e_ident[EI_MAG1] != ELFMAG1 || + ehdr->e_ident[EI_MAG2] != ELFMAG2 || ehdr->e_ident[EI_MAG3] != ELFMAG3) { + panic("kernel - how did i even boot? *starts galaxy brain meme*"); + } + + Elf64_Shdr *shdr = (Elf64_Shdr *)(img + ehdr->e_shoff); + const char *shstrtab = (char *)img + shdr[ehdr->e_shstrndx].sh_offset; + + for (int j = 0; j < ehdr->e_shnum; j++) { + if (shdr[j].sh_type == SHT_SYMTAB) { + __ksym_symtab = (Elf64_Sym *)(img + shdr[j].sh_offset); + __ksym_symcount = shdr[j].sh_size / shdr[j].sh_entsize; + } else if (shdr[j].sh_type == SHT_STRTAB && + strcmp(shstrtab + shdr[j].sh_name, ".strtab") == 0) { + __ksym_strtab = (char *)(img + shdr[j].sh_offset); + } + } + + log("kernel - loaded %d symbols\n", __ksym_symcount); +} + +func *ksym_fromip(uint64_t ip) { + for (int i = 0; i < __ksym_symcount; i++) { + uint64_t value = __ksym_symtab[i].st_value; + uint64_t size = __ksym_symtab[i].st_size; + + if (value <= ip && ip < (value + size)) { + func *f = malloc(sizeof(func)); + f->base = value; + f->ip = ip; + f->name = (__ksym_strtab + __ksym_symtab[i].st_name); + return f; + } + } + + return NULL; +} \ No newline at end of file diff --git a/kernel/src/dbg/sym.h b/kernel/src/dbg/sym.h new file mode 100644 index 0000000..9419994 --- /dev/null +++ b/kernel/src/dbg/sym.h @@ -0,0 +1,12 @@ +#pragma once + +#include "mm/vmm.h" + +typedef struct func { + uint64_t base; + uint64_t ip; + char *name; +} func; + +void ksym_init(); +func *ksym_fromip(uint64_t ip); \ No newline at end of file diff --git a/kernel/src/exec/elf.h b/kernel/src/exec/elf.h index 8180a8e..a680291 100644 --- a/kernel/src/exec/elf.h +++ b/kernel/src/exec/elf.h @@ -122,4 +122,32 @@ typedef struct { Elf64_Ehdr *ehdr; } elf_program_t; -program_t *elf_load(char *data, int user); \ No newline at end of file +program_t *elf_load(char *data, int user); + +// Those aren't used for loading, but used by +// the kernel to resolve symbols from an instruction +// pointer. +#define SHT_SYMTAB 2 +#define SHT_STRTAB 3 + +typedef struct { + uint32_t st_name; + unsigned char st_info; + unsigned char st_other; + uint16_t st_shndx; + Elf64_Addr st_value; + uint64_t st_size; +} Elf64_Sym; + +typedef struct { + uint32_t sh_name; + uint32_t sh_type; + uint64_t sh_flags; + Elf64_Addr sh_addr; + Elf64_Off sh_offset; + uint64_t sh_size; + uint32_t sh_link; + uint32_t sh_info; + uint64_t sh_addralign; + uint64_t sh_entsize; +} Elf64_Shdr; diff --git a/kernel/src/fs/hellofs.c b/kernel/src/fs/hellofs.c new file mode 100644 index 0000000..6addd24 --- /dev/null +++ b/kernel/src/fs/hellofs.c @@ -0,0 +1,101 @@ +#include "fs/hellofs.h" +#include "fs/vfs.h" +#include +#include +#include + +static int hellofs_read(vnode_t *vn, void *buf, size_t off, size_t size) { + if (!vn || !buf || size <= 0) { + return -1; + } + + const char *hello = "hello"; + const size_t hello_len = 5; // strlen("hello") + char *cbuf = (char *)buf; + size_t bytes_written = 0; + + while (bytes_written < size) { + size_t pos = off % hello_len; // Position within "hello" + size_t remaining = hello_len - pos; // Remaining bytes in current "hello" + size_t to_copy = (size - bytes_written < remaining) ? + (size - bytes_written) : remaining; + + memcpy(cbuf + bytes_written, hello + pos, to_copy); + bytes_written += to_copy; + off += to_copy; + } + + return bytes_written; +} + +vnode_ops_t hellofs_hello_ops = { + .read = hellofs_read, + .lookup = NULL, +}; + +static int hellofs_lookup(vnode_t *vn, const char *name, vnode_t **out) { + if (!vn || !name || !out) { + return -1; + } + + if (strcmp(name, "hello") == 0) { + *out = vfs_create_node("hello", VN_FILE); + if (*out) { + (*out)->ops = &hellofs_hello_ops; + return 0; + } + + return -1; + } else { + *out = NULL; // Not found + return -1; + } +} + +vnode_ops_t hellofs_root_ops = { + .read = NULL, + .lookup = hellofs_lookup, +}; + +static int hellofs_mount(fs_t *fs, vnode_t *mountpoint) { + if (!fs || !mountpoint) { + return -1; + } + + // mountpoint list isn't implemented. + + /*mountpoint_t *mp = (mountpoint_t *)malloc(sizeof(mountpoint_t)); + if (!mp) { + return -1; + } + + memset(mp, 0, sizeof(mountpoint_t)); + strncpy(mp->name, fs->name, sizeof(mp->name) - 1); + mp->fs = fs; + mp->mountpoint = mountpoint;*/ + + // Mounting is essentially just putting the file system's root directory operations + // on the mountpoint vnode. + mountpoint->ops = &hellofs_root_ops; + + return 0; +} + +fs_t *hellofs_init() { + fs_t *fs = (fs_t *)malloc(sizeof(fs_t)); + if (!fs) { + return NULL; + } + + memset(fs, 0, sizeof(fs_t)); + strncpy(fs->name, "hellofs", sizeof(fs->name) - 1); + + fs->mount = hellofs_mount; + fs->root = vfs_create_node("/", VN_DIR); + if (!fs->root) { + free(fs); + return NULL; + } + + return fs; +} \ No newline at end of file diff --git a/kernel/src/fs/hellofs.h b/kernel/src/fs/hellofs.h new file mode 100644 index 0000000..5e35108 --- /dev/null +++ b/kernel/src/fs/hellofs.h @@ -0,0 +1,5 @@ +#pragma once + +#include + +fs_t *hellofs_init(void); \ No newline at end of file diff --git a/kernel/src/fs/vfs.c b/kernel/src/fs/vfs.c index bcbf98f..c8e966e 100644 --- a/kernel/src/fs/vfs.c +++ b/kernel/src/fs/vfs.c @@ -2,6 +2,99 @@ #include "lib/string.h" #include "mm/liballoc/liballoc.h" #include "mm/memop.h" +#include "sys/errhnd/panic.h" + +vnode_t *root = NULL; + +void vfs_init() { + root = vfs_create_node("/", VN_DIR); + if (!root) { + panic("vfs - failed to create root node"); + } + root->parent = root; // Root's parent is itself +} + +// Not worth adding to the header, since it should only lookup +// for files/directories in dir, without going deeper. +int vfs_lookup(vnode_t *dir, const char *name, vnode_t **out) { + if (!dir || !name) + return -1; + + if (dir->ops && dir->ops->lookup) { + return dir->ops->lookup(dir, name, out); + } + return -1; +} + +int vfs_open(vnode_t *curdir, const char *path, vnode_t **out) { + if (strcmp(path, ".") == 0) { + *out = curdir; + return 0; + } + if (strcmp(path, "..") == 0) { + *out = curdir->parent; + return 0; + } + + char *path_copy = strdup(path); + if (!path_copy) { + *out = NULL; + return -1; + } + + vnode_t *cur_node = path[0] == '/' ? root : curdir; + char *token = strtok(path_copy, "/"); + + while (token) { + vnode_t *next; + vfs_lookup(cur_node, token, &next); + if (!next) { + free(path_copy); + *out = NULL; + return -1; + } + cur_node = next; + token = strtok(NULL, "/"); + } + + free(path_copy); + *out = cur_node; + return 0; +} + +int vfs_mount(char *path, fs_t *fs) { + if (!fs || !path) { + return -1; + } + + vnode_t *mp; + if (strcmp(path, "/") == 0) { + mp = root; + } else { + vfs_open(root, path, &mp); + } + + if (fs->mount == NULL) + return -1; // why allocating a fs without the capability to mount to a node? lmao + + return fs->mount(fs, mp); +} + +int vfs_unmount(char *path) { + (void)path; + return -1; +} + +int vfs_read(vnode_t *vn, void *buf, size_t off, size_t size) { + if (!vn || !buf || off < 0 || size <= 0) { + return -1; + } + + if (vn->ops && vn->ops->read) { + return vn->ops->read(vn, buf, off, size); + } + return -1; +} vnode_t *vfs_create_node(char *name, vnode_type_t type) { vnode_t *node = (vnode_t *)malloc(sizeof(vnode_t)); diff --git a/kernel/src/fs/vfs.h b/kernel/src/fs/vfs.h index a85c826..03282b3 100644 --- a/kernel/src/fs/vfs.h +++ b/kernel/src/fs/vfs.h @@ -12,14 +12,14 @@ typedef uint32_t vnode_type_t; typedef struct vnode_ops { int (*read)(struct vnode *vn, void *buf, size_t off, size_t size); - struct vnode *(*lookup)(struct vnode *vn, const char *name); + int (*lookup)(struct vnode *vn, const char *name, struct vnode **out); } vnode_ops_t; typedef struct vnode { char name[256]; vnode_type_t type; uint32_t refcount; - // struct vnode* parent; + struct vnode* parent; // If this vnode exists, then it's parent too. // struct vnode* child; // struct vnode* next; @@ -36,11 +36,12 @@ typedef struct mountpoint { typedef struct fs { char name[32]; struct vnode *root; - int (*mount)(struct vnode *mountpoint); + int (*mount)(struct fs *fs, struct vnode *mountpoint); } fs_t; void vfs_init(void); int vfs_mount(char *path, fs_t *fs); int vfs_unmount(char *path); -int vfs_open(const char *path, vnode_t **result); +int vfs_open(vnode_t *curdir, const char *path, vnode_t **out); int vfs_read(vnode_t *vn, void *buf, size_t off, size_t size); +vnode_t *vfs_create_node(char *name, vnode_type_t type); \ No newline at end of file diff --git a/kernel/src/lib/string.c b/kernel/src/lib/string.c index 71eb5a9..945bece 100644 --- a/kernel/src/lib/string.c +++ b/kernel/src/lib/string.c @@ -1,7 +1,10 @@ #include #include +#include #include +static char *olds; + int strlen(const char *str) { int len = 0; while (str[len]) @@ -78,3 +81,54 @@ char *strncpy(char *dest, const char *src, size_t n) { dest[i] = '\0'; return dest; } + +#define DICT_LEN 256 + +static int *create_delim_dict(char *delim) { + int *d = (int *)malloc(sizeof(int) * DICT_LEN); + memset((void *)d, 0, sizeof(int) * DICT_LEN); + + int i; + for (i = 0; i < strlen(delim); i++) { + d[delim[i]] = 1; + } + return d; +} + +char *strtok(char *str, char *delim) { + + static char *last, *to_free; + int *deli_dict = create_delim_dict(delim); + + if (!deli_dict) { + return NULL; + } + + if (str) { + last = (char *)malloc(strlen(str) + 1); + if (!last) { + free(deli_dict); + } + to_free = last; + strcpy(last, str); + } + + while (deli_dict[*last] && *last != '\0') { + last++; + } + str = last; + if (*last == '\0') { + free(deli_dict); + free(to_free); + return NULL; + } + while (*last != '\0' && !deli_dict[*last]) { + last++; + } + + *last = '\0'; + last++; + + free(deli_dict); + return str; +} diff --git a/kernel/src/lib/string.h b/kernel/src/lib/string.h index 3f4be59..c80bf30 100644 --- a/kernel/src/lib/string.h +++ b/kernel/src/lib/string.h @@ -8,4 +8,5 @@ char *strcpy(char *dest, const char *src); char *strrchr(const char *s, int c); int oct2bin(unsigned char *str, int size); char *strdup(const char *str); -char *strncpy(char *dest, const char *src, size_t n); \ No newline at end of file +char *strncpy(char *dest, const char *src, size_t n); +char *strtok(char *str, char *delim); \ No newline at end of file diff --git a/kernel/src/main.c b/kernel/src/main.c index c4c4935..cedbcbe 100644 --- a/kernel/src/main.c +++ b/kernel/src/main.c @@ -1,10 +1,12 @@ #include "arch/x86_64/pit.h" #include "arch/x86_64/smp.h" #include "arch/x86_64/sse.h" +#include "dbg/sym.h" #include "dev/ioapic.h" #include "dev/lapic.h" #include "exec/elf.h" #include "exec/exec.h" +#include "fs/hellofs.h" #include "mm/liballoc/liballoc.h" #include "mm/pmm.h" #include "mm/vma.h" @@ -57,10 +59,6 @@ struct flanterm_context *ft_ctx; char kstack[8192]; -void test3() { *((uint8_t*)0x0) = (uint8_t)0xFF; } -void test2() { test3();} -void test1() { test2(); } - void __kmain(void) { if (framebuffer_request.response != NULL) { @@ -92,6 +90,14 @@ void __kmain(void) { asm("hlt"); } + ksym_init(); + func *f = ksym_fromip((uint64_t)__kmain); + if (f) { + log("ksym: found %s at %p\n", f->name, f->ip); + } else { + log("ksym: not found\n"); + } + acpi_init(); madt_init(); ioapic_init(); @@ -99,9 +105,22 @@ void __kmain(void) { pit_init(); smp_init(); + vfs_init(); + fs_t *hellofs = hellofs_init(); + vfs_mount("/", hellofs); + + vnode_t *vn; + vfs_open(NULL, "/hello", &vn); + if (vn) { + char buf[100]; + vfs_read(vn, buf, 2, sizeof(buf)); + log("Read from /hello: %s\n", buf); + } else { + log("Failed to open /hello\n"); + } + syscall_init(); sched_init(); - test1(); // vfs_init(); diff --git a/kernel/src/mm/vmm.c b/kernel/src/mm/vmm.c index f84bf9b..b724f57 100644 --- a/kernel/src/mm/vmm.c +++ b/kernel/src/mm/vmm.c @@ -15,7 +15,7 @@ __attribute__(( .revision = 3, .mode = LIMINE_PAGING_MODE_X86_64_4LVL}; -__attribute__((used, section(".limine_requests"))) static volatile struct +__attribute__((used, section(".limine_requests"))) volatile struct limine_executable_address_request karq = { .id = LIMINE_EXECUTABLE_ADDRESS_REQUEST, .revision = 0, diff --git a/strings.txt b/strings.txt new file mode 100644 index 0000000..843bc51 --- /dev/null +++ b/strings.txt @@ -0,0 +1,2709 @@ +[A\] +AVAUATSH +E>E1 +[A\A]A^] +[A\A]] +AWAVAUATSH +\$ I +8f;X8 +_AXL9 +[A\A]A^A_] +@ff. +P#RH + AVAUATSH +T$ H +[A\A]A^A_] +D$(I +D$ I +\$HA +\$`A +d$8E +|$DL +D$(H +T$0I +D$ A + ff. +[A\] +H+= +AWAVAUATSH +tGE1 +[A\A]A^A_] +[A\A]A^A_] +[A\A]] +AWAVAUATSH +s6ff. +8[A\A]A^A_] +[A\A]A^] +AWAVI +[A\A]A^A_] +AVAUI +[A\A]A^] +[A\A]A^] +AXAYH +AUATI +s1H; +AUATSH +r%M9 +t&ff. +[A\A]] +AVAUATSH +[A\A]A^] +AVAUATSH +[A\A]A^] +AWAVAUATSH +tLff. +[A\A]A^A_] +[A\A]A^A_] +[A\] +AWAVAUATSH +P[A\A]A^A_] +AWAVAUATSL +[A\A]A^A_] +AWAVAUATSD +[A\A]A^A_] +[A\A]A^A_] +AWAVAUATSH + [A\A]A^A_] +AWAVAUA +ATSL +> tVI +[A\A]A^A_] +ATSH +UHE1 +UPE1 +[A\A]A^A_] +AWAVL +AUATI +E@<7 +([A\A]A^A_] +S@< +H9Ch +<5w2 +SxH9 +SxE1 +CpH9 +s H9 +KxE1 +KxI9 +kxI9 +sxH9 +KxH9 +KhH9 +spH9 +r H9 +SxH9 +8ff. +AWAVAUI +ATSH +x[A\A]A^A_] +<-t`H + ff. +tMHc +/v:H +ATSH +[A\] +[A\D +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j!PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j"PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j#PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j$PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j%PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j&PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j'PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j(PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j)PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j*PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j+PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j,PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j-PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j.PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j/PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j0PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j1PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j2PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j3PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j4PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j5PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j6PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j7PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j8PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j9PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j:PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j;PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j?PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j@PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jAPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jBPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jCPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jDPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jEPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jFPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jGPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jHPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jIPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jJPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jKPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jLPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jMPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jNPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jOPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jPPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jQPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jRPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jSPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jTPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jUPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jVPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jWPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jXPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jYPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jZPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j[PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j\PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j]PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j^PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j_PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j`PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jaPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jbPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jcPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jdPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jePQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jfPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jgPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jhPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jiPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jjPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jkPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jlPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jmPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jnPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +joPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jpPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jqPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jrPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jsPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jtPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +juPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jvPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jwPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jxPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jyPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +jzPQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j{PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j|PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j}PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +j~PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +PQRSUVWAPAQARASATAUAVAWH +A_A^A]A\A[AZAYAX_^][ZYXH +sj;r +\-+V +kSDI8{j +C{~9k{ +Exc' +bLv1 +gdt - initialized. +idt - initialized +A CPU exception occured. +smp - detected %d CPUs +smp - initialized +.strtab +kernel - loaded %d symbols +ioapic - initialized +lapic - initialized +elf - e_ident[EI_DATA]: %d +elf - e_ident[EI_CLASS]: %d +elf - e_ident[EI_OSABI]: %d +elf - e_machine: %d +elf - e_entry: %p +elf - e_type: %p +elf - e_phnum: %p +elf - ELF segment type: %d +elf - memset(%p, 0, 0x1000) +elf - memcpy(%p, %p, %d) +ksym: found %s at %p +ksym: not found +Test +pmm - out of memory. +vmm - initialized! +RSD PTR +acpi: Invalid RSDP signature! +APIC +-- REGISTER DUMP -- +R13: %p, R14: %p, R15: %p +RSP: %p +-- PAGE FAULT DETAILS -- +Error Code: %d +Flags: + - Page Not Present + - Protection Violation + - Write Access + - Read Access + - User-Mode Access + - Kernel-Mode Access + - Reserved Bits Set + - Instruction Fetch +-- BACKTRACE -- +* %p (current) +* %p +1970-01-01 00:00:00 | +Hello! +smp - CPU %d started (LAPIC ID: %d) +smp - CPU %d is the bootstrap processor (LAPIC ID: %d) +kernel - how did i even boot? *starts galaxy brain meme* +elf - loading failed: magic is incorrect +elf - loading failed: is the file built for amd64? +elf - loading failed: ELF type isn't ET_EXEC +elf - loaded ELF program in memory. +elf - loading ELF program header %u: vaddr 0x%llx - 0x%llx, offset 0x%llx, filesz 0x%llx, size 0x%llx, flags 0x%llx +elf - pmm page alloc failed. out of memory? +elf - vmm_map_user(%p, %p, %p, %d) +elf - vmm_map(%p, %p, %p, %d) + Soaplin 0.7-sild is booting up your computer... +kernel - vma ctx creation failed. halting +kernel - Soaplin initialized sucessfully. +pmm - %dmb is available to us. +pmm - could not free the page: stack overflow. +vma - creating VMA context with pagemap: 0x%.16llx +vma - failed to allocate VMA context +vma - allocated VMA context at 0x%.16llx +vma - zeroed out VMA context at 0x%.16llx +vma - failed to allocate root region +vma - allocated root region at 0x%.16llx +vma - VMA context created at 0x%.16llx with root region at 0x%.16llx +vma - invalid context or root passed to vma_alloc +vma - failed to allocate new VMA region +vma - failed to allocate physical memory for VMA region +vmm - Soaplin only supports 4-level paging! +vmm - mapping .requests section... +vmm - mapping .text section... +vmm - mapping .rodata section... +vmm - mapping .data section... +vmm - mapping address from 0x0 to 0x100000000... +sched - As there's nothing to schedule, the scheduler entered standbymode. +sched - Standby mode has beendisabled. +sched - created process '%s' (pid: %d, rip: %p) +sched - Process %d exited with code %d! +madt: Failed to find MADT table! +RDI: %p, RSI: %p, RDX: %p, RCX: %p, R8: %p, R9: %p +RAX: %p, RBP: %p, RBX: %p, R10: %p, R11: %p, R12: %p +RIP: %p, CS: %x, SS: %x, RFLAGS: %d, INTERRUPT: %d, ERROR CODE: %d +This appears to be a page fault. +Faulting Address (CR2): 0x%lx + _ __ _ ___ _ +| |/ /___ _ _ _ _ ___| | | _ \__ _ _ _ (_)__ +| ' +8ll8 +6666666 +66666666 +66666666 +66666 +666666666666666666666666 +6666666666666 +6666666 +66666667666666666666670? +?076666666666666 +666666666666670766666666 +66666 +66666666 +6666666 +666666666666666? +?666666666666666 +66666666 +lllllll +fffff|`` +ffff< +0``|```0 +8ll8 +lllll +||||||| + rsp +$ ist +#log +&isr +(isr + low + low +%log +%log ++log +2msr +3low +!log +(cr2 +/bpp +/map +8$3% +U)bg +U)fg +U)bg +U)fg + ctx + ctx + ctx + ctx + ctx + ctx +Fret +$osc +$rrr +!ctx +!ctx +!ctx + ctx + ucs + ucs + max + ctx + ctx + ctx + ctx + ctx + ctx + ctx + ctx + ctx +6sgr +'ctx +8def +9out +)ctx +)buf +'ctx + 'buf +o'lst + #val + #val +!cur +src/arch/x86_64/idt.asm +/home/raphm/Projets/sild/soaplin/kernel/src/arch/x86_64/ +NASM 2.16.03 +src/arch/x86_64/syscall.asm +/home/raphm/Projets/sild/soaplin/kernel/src/arch/x86_64/ +NASM 2.16.03 +src/premain.asm +/home/raphm/Projets/sild/soaplin/kernel/src/ +NASM 2.16.03 +:! ; +!(:! +9!1I +Y!*W! + &3$ + &4$ + &4$ + &4$ + &4$ +U#P<% + $0."@ +U#P<% + $0." +*P s +Tk s +*k s +*k s + O s +Sl s + l s + l s +;t s +Yt s +;t s +Yt s +.. X +.] X + * x +.i=I +& +flanterm.h +src/sys/printf.c +src/sys/syscall.c +src/sys/syscalls/syscalls_proc.c +src/sys/syscalls +GCC: (GNU) 15.1.1 20250425 +gdt.c +idt.c +vectors +idtr +io.c +pit.c +smp.c +smp_request +syscall.c +sym.c +exec_file_rq +__ksym_symtab +__ksym_symcount +__ksym_strtab +ioapic.c +lapic.c +elf.c +string.c +main.c +framebuffer_request +module_request +limine_requests_end_marker +limine_requests_start_marker +limine_base_revision +liballoc.c +allocate_new_page +l_allocated +l_warningCount +l_memRoot +l_bestBet +l_inuse +liballoc_soaplin.c +liballoc_lock_var +memop.c +pmm.c +vma.c +vmm.c +__vmm_get_next_lvl +pmrq +sched.c +schedule.part.0 +acpi.c +__acpi_rsdt_ptr +__acpi_uses_xsdt +rsdp_req +madt.c +panic.c +__panic_display_regs +__panic_regdump +fb.c +bump_alloc +base_offset_added.0 +bump_alloc_ptr +bump_alloc_pool +flanterm_fb_save_state +flanterm_fb_restore_state +flanterm_fb_swap_palette +push_to_queue +flanterm_fb_revscroll +flanterm_fb_scroll +flanterm_fb_set_cursor_pos +flanterm_fb_get_cursor_pos +flanterm_fb_move_character +flanterm_fb_set_text_fg +flanterm_fb_set_text_bg +flanterm_fb_set_text_fg_bright +flanterm_fb_set_text_bg_bright +flanterm_fb_set_text_fg_rgb +flanterm_fb_set_text_bg_rgb +flanterm_fb_set_text_fg_default +flanterm_fb_set_text_bg_default +flanterm_fb_set_text_fg_default_bright +flanterm_fb_set_text_bg_default_bright +draw_cursor +flanterm_fb_double_buffer_flush +flanterm_fb_full_refresh +flanterm_fb_deinit +bump_allocated_instance +plot_char_scaled_canvas +plot_char_unscaled_canvas +plot_char_unscaled_uncanvas +plot_char_scaled_uncanvas +flanterm_fb_clear +flanterm_fb_raw_putchar +builtin_font +flanterm.c +combining.0 +col256 +log.c +printf.c +npf_utoa_rev +npf_bufputc +npf_bufputc_nop +__syscall_undefined +syscall_table +syscalls_proc.c +src/arch/x86_64/idt.asm +isr_stub_0 +isr_stub_1 +isr_stub_2 +isr_stub_3 +isr_stub_4 +isr_stub_5 +isr_stub_6 +isr_stub_7 +isr_stub_8 +isr_stub_9 +isr_stub_10 +isr_stub_11 +isr_stub_12 +isr_stub_13 +isr_stub_14 +isr_stub_15 +isr_stub_16 +isr_stub_17 +isr_stub_18 +isr_stub_19 +isr_stub_20 +isr_stub_21 +isr_stub_22 +isr_stub_23 +isr_stub_24 +isr_stub_25 +isr_stub_26 +isr_stub_27 +isr_stub_28 +isr_stub_29 +isr_stub_30 +isr_stub_31 +isr_stub_32 +isr_stub_33 +isr_stub_34 +isr_stub_35 +isr_stub_36 +isr_stub_37 +isr_stub_38 +isr_stub_39 +isr_stub_40 +isr_stub_41 +isr_stub_42 +isr_stub_43 +isr_stub_44 +isr_stub_45 +isr_stub_46 +isr_stub_47 +isr_stub_48 +isr_stub_49 +isr_stub_50 +isr_stub_51 +isr_stub_52 +isr_stub_53 +isr_stub_54 +isr_stub_55 +isr_stub_56 +isr_stub_57 +isr_stub_58 +isr_stub_59 +isr_stub_60 +isr_stub_61 +isr_stub_62 +isr_stub_63 +isr_stub_64 +isr_stub_65 +isr_stub_66 +isr_stub_67 +isr_stub_68 +isr_stub_69 +isr_stub_70 +isr_stub_71 +isr_stub_72 +isr_stub_73 +isr_stub_74 +isr_stub_75 +isr_stub_76 +isr_stub_77 +isr_stub_78 +isr_stub_79 +isr_stub_80 +isr_stub_81 +isr_stub_82 +isr_stub_83 +isr_stub_84 +isr_stub_85 +isr_stub_86 +isr_stub_87 +isr_stub_88 +isr_stub_89 +isr_stub_90 +isr_stub_91 +isr_stub_92 +isr_stub_93 +isr_stub_94 +isr_stub_95 +isr_stub_96 +isr_stub_97 +isr_stub_98 +isr_stub_99 +isr_stub_100 +isr_stub_101 +isr_stub_102 +isr_stub_103 +isr_stub_104 +isr_stub_105 +isr_stub_106 +isr_stub_107 +isr_stub_108 +isr_stub_109 +isr_stub_110 +isr_stub_111 +isr_stub_112 +isr_stub_113 +isr_stub_114 +isr_stub_115 +isr_stub_116 +isr_stub_117 +isr_stub_118 +isr_stub_119 +isr_stub_120 +isr_stub_121 +isr_stub_122 +isr_stub_123 +isr_stub_124 +isr_stub_125 +isr_stub_126 +isr_stub_127 +isr_stub_128 +isr_stub_129 +isr_stub_130 +isr_stub_131 +isr_stub_132 +isr_stub_133 +isr_stub_134 +isr_stub_135 +isr_stub_136 +isr_stub_137 +isr_stub_138 +isr_stub_139 +isr_stub_140 +isr_stub_141 +isr_stub_142 +isr_stub_143 +isr_stub_144 +isr_stub_145 +isr_stub_146 +isr_stub_147 +isr_stub_148 +isr_stub_149 +isr_stub_150 +isr_stub_151 +isr_stub_152 +isr_stub_153 +isr_stub_154 +isr_stub_155 +isr_stub_156 +isr_stub_157 +isr_stub_158 +isr_stub_159 +isr_stub_160 +isr_stub_161 +isr_stub_162 +isr_stub_163 +isr_stub_164 +isr_stub_165 +isr_stub_166 +isr_stub_167 +isr_stub_168 +isr_stub_169 +isr_stub_170 +isr_stub_171 +isr_stub_172 +isr_stub_173 +isr_stub_174 +isr_stub_175 +isr_stub_176 +isr_stub_177 +isr_stub_178 +isr_stub_179 +isr_stub_180 +isr_stub_181 +isr_stub_182 +isr_stub_183 +isr_stub_184 +isr_stub_185 +isr_stub_186 +isr_stub_187 +isr_stub_188 +isr_stub_189 +isr_stub_190 +isr_stub_191 +isr_stub_192 +isr_stub_193 +isr_stub_194 +isr_stub_195 +isr_stub_196 +isr_stub_197 +isr_stub_198 +isr_stub_199 +isr_stub_200 +isr_stub_201 +isr_stub_202 +isr_stub_203 +isr_stub_204 +isr_stub_205 +isr_stub_206 +isr_stub_207 +isr_stub_208 +isr_stub_209 +isr_stub_210 +isr_stub_211 +isr_stub_212 +isr_stub_213 +isr_stub_214 +isr_stub_215 +isr_stub_216 +isr_stub_217 +isr_stub_218 +isr_stub_219 +isr_stub_220 +isr_stub_221 +isr_stub_222 +isr_stub_223 +isr_stub_224 +isr_stub_225 +isr_stub_226 +isr_stub_227 +isr_stub_228 +isr_stub_229 +isr_stub_230 +isr_stub_231 +isr_stub_232 +isr_stub_233 +isr_stub_234 +isr_stub_235 +isr_stub_236 +isr_stub_237 +isr_stub_238 +isr_stub_239 +isr_stub_240 +isr_stub_241 +isr_stub_242 +isr_stub_243 +isr_stub_244 +isr_stub_245 +isr_stub_246 +isr_stub_247 +isr_stub_248 +isr_stub_249 +isr_stub_250 +isr_stub_251 +isr_stub_252 +isr_stub_253 +isr_stub_254 +isr_stub_255 +src/arch/x86_64/syscall.asm +src/premain.asm +font.c +smp_init +acpi_madt_iso_length +flanterm_fb_init +rodata_end_ld +syscall_handle +sched_exit +kernel_vma_context +liballoc_unlock +lapic_eoi +proc_list +hhdm_offset +acpi_madt_ioapic_list +vmm_init +memcpy +acpi_init +ioapic_get_gsi +malloc +lapic_init +vma_create_context +standby +karq +reqs_end_ld +vmm_alloc_pm +gdt_init +rodata_start_ld +ioapic_init +__kmain +curr_proc +ksym_init +ioapic_redirect_irq +schedule +bootstrap_lapic_id +pit_enable +virt_to_phys +liballoc_lock +pit_init +npf_vsnprintf +vma_alloc +idt_init +smp_entry +pmm_request_page +vmm_map +acpi_madt_ioapic_length +hhdm_req +acpi_madt_iso_list +panic_ctx +current_pid +flanterm_write +vmm_release_pm +irq_handler_table +liballoc_alloc +__x86_64_syscall_init +__panic_display_ascii_art +syscall_exit +npf_vpprintf +panic +vmm_kernel_pm_exists +memcmp +sched_create +tick +vmm_kernel_pm +ksym_fromip +outb +def_table +ft_ctx +memset +pmm_free_page +idt_int_handler +acpi_lapic_addr +flanterm_context_reinit +strcmp +vmm_map_user +acpi_find_table +idt_register_irq +VGA8 +text_end_ld +pmm_init +ioapic_redirect_gsi +reqs_start_ld +pit_handler +smp_cpu_count +vmm_current_pm +tss_list +isr_stub_table +vmm_load_pagemap +mk_wcwidth +sched_init +strlen +madt_init +text_start_ld +mm_req +syscall_entry +elf_load +kstack +_memmap +.symtab +.strtab +.shstrtab +.text +.limine_requests +.rodata +.data +.bss +.debug_info +.debug_abbrev +.debug_loclists +.debug_aranges +.debug_rnglists +.debug_line +.debug_str +.debug_line_str +.comment diff --git a/txt.txt b/txt.txt new file mode 100644 index 0000000..3e59680 --- /dev/null +++ b/txt.txt @@ -0,0 +1,559 @@ +En-tête ELF: + Magique: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 + Classe: ELF64 + Données: complément à 2, système à octets de poids faible d'abord (little endian) + Version: 1 (actuelle) + OS/ABI: UNIX - System V + Version ABI: 0 + Type: EXEC (fichier exécutable) + Machine: Advanced Micro Devices X86-64 + Version: 0x1 + Adresse du point d'entrée: 0xffffffff8000d040 + Début des en-têtes de programme : 64 (octets dans le fichier) + Début des en-têtes de section : 308160 (octets dans le fichier) + Fanions: 0x0 + Taille de cet en-tête: 64 (octets) + Taille de l'en-tête du programme: 56 (octets) + Nombre d'en-tête du programme: 4 + Taille des en-têtes de section: 64 (octets) + Nombre d'en-têtes de section: 18 + Table d'index des chaînes d'en-tête de section: 17 + +En-têtes de section : + [Nr] Nom Type Adresse Décalage + Taille TaillEntrée Fanion Lien Info Alignement + [ 0] NULL 0000000000000000 00000000 + 0000000000000000 0000000000000000 0 0 0 + [ 1] .text PROGBITS ffffffff80000000 00001000 + 000000000000d052 0000000000000000 AX 0 0 64 + [ 2] .limine_requests PROGBITS ffffffff8000e000 0000f000 + 00000000000002a0 0000000000000000 WA 0 0 32 + [ 3] .rodata PROGBITS ffffffff8000f000 00010000 + 0000000000004de0 0000000000000000 A 0 0 32 + [ 4] .data PROGBITS ffffffff80014000 00015000 + 0000000000001060 0000000000000000 WA 0 0 32 + [ 5] .bss NOBITS ffffffff80015060 00016060 + 00000000000e2f00 0000000000000000 WA 0 0 32 + [ 6] .debug_info PROGBITS 0000000000000000 00016060 + 0000000000010054 0000000000000000 0 0 1 + [ 7] .debug_abbrev PROGBITS 0000000000000000 000260b4 + 0000000000003d55 0000000000000000 0 0 1 + [ 8] .debug_loclists PROGBITS 0000000000000000 00029e09 + 000000000000b554 0000000000000000 0 0 1 + [ 9] .debug_aranges PROGBITS 0000000000000000 0003535d + 0000000000000d70 0000000000000000 0 0 1 + [10] .debug_rnglists PROGBITS 0000000000000000 000360cd + 00000000000017ea 0000000000000000 0 0 1 + [11] .debug_line PROGBITS 0000000000000000 000378b7 + 000000000000ce27 0000000000000000 0 0 1 + [12] .debug_str PROGBITS 0000000000000000 000446de + 0000000000002468 0000000000000001 MS 0 0 1 + [13] .debug_line_str PROGBITS 0000000000000000 00046b46 + 0000000000000474 0000000000000001 MS 0 0 1 + [14] .comment PROGBITS 0000000000000000 00046fba + 000000000000001b 0000000000000001 MS 0 0 1 + [15] .symtab SYMTAB 0000000000000000 00046fd8 + 0000000000002b68 0000000000000018 16 359 8 + [16] .strtab STRTAB 0000000000000000 00049b40 + 00000000000017bc 0000000000000000 0 0 1 + [17] .shstrtab STRTAB 0000000000000000 0004b2fc + 00000000000000be 0000000000000000 0 0 1 +Clé des fanions : + W (écriture), A (allocation), X (exécution), M (fusion), S (chaînes), I (info), + L (ordre des liens), O (traitement supplémentaire par l'OS requis), G (groupe), + T (TLS), C (compressé), x (inconnu), o (spécifique à l'OS), E (exclu), + D (mbind), l (grand), p (processor specific) + +Il n'y a pas de groupe de section dans ce fichier. + +En-têtes de programme : + Type Décalage Adr.virt Adr.phys. + Taille fichier Taille mémoire Fanion Alignement + LOAD 0x000000000000f000 0xffffffff8000e000 0xffffffff8000e000 + 0x00000000000002a0 0x00000000000002a0 RW 0x1000 + LOAD 0x0000000000001000 0xffffffff80000000 0xffffffff80000000 + 0x000000000000d052 0x000000000000d052 R E 0x1000 + LOAD 0x0000000000010000 0xffffffff8000f000 0xffffffff8000f000 + 0x0000000000004de0 0x0000000000004de0 R 0x1000 + LOAD 0x0000000000015000 0xffffffff80014000 0xffffffff80014000 + 0x0000000000001060 0x00000000000e3f60 RW 0x1000 + + Correspondance section/segment : + Sections de segment... + 00 .limine_requests + 01 .text + 02 .rodata + 03 .data .bss + +Il n'y a pas de section dynamique dans ce fichier. + +Il n'y a pas de réadressages dans ce fichier. +Pas d'information de déroulement spécifique au processeur à décoder + +La table de symboles « .symtab » contient 463 entrées : + Num: Valeur Tail Type Lien Vis Ndx Nom + 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND + 1: 0000000000000000 0 FILE LOCAL DEFAULT ABS gdt.c + 2: 0000000000000000 0 FILE LOCAL DEFAULT ABS idt.c + 3: ffffffff8001cb70 4096 OBJECT LOCAL DEFAULT 5 idt + 4: ffffffff8001c760 1024 OBJECT LOCAL DEFAULT 5 vectors + 5: ffffffff8001cb60 10 OBJECT LOCAL DEFAULT 5 idtr + 6: 0000000000000000 0 FILE LOCAL DEFAULT ABS io.c + 7: 0000000000000000 0 FILE LOCAL DEFAULT ABS pit.c + 8: 0000000000000000 0 FILE LOCAL DEFAULT ABS smp.c + 9: ffffffff8000e020 56 OBJECT LOCAL DEFAULT 2 smp_request + 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS syscall.c + 11: 0000000000000000 0 FILE LOCAL DEFAULT ABS sym.c + 12: ffffffff8000e060 48 OBJECT LOCAL DEFAULT 2 exec_file_rq + 13: ffffffff8001db90 8 OBJECT LOCAL DEFAULT 5 __ksym_symtab + 14: ffffffff8001db80 4 OBJECT LOCAL DEFAULT 5 __ksym_symcount + 15: ffffffff8001db88 8 OBJECT LOCAL DEFAULT 5 __ksym_strtab + 16: 0000000000000000 0 FILE LOCAL DEFAULT ABS ioapic.c + 17: 0000000000000000 0 FILE LOCAL DEFAULT ABS lapic.c + 18: 0000000000000000 0 FILE LOCAL DEFAULT ABS elf.c + 19: 0000000000000000 0 FILE LOCAL DEFAULT ABS string.c + 20: 0000000000000000 0 FILE LOCAL DEFAULT ABS main.c + 21: ffffffff8000e0e0 48 OBJECT LOCAL DEFAULT 2 framebuffer_request + 22: ffffffff8000e0a0 64 OBJECT LOCAL DEFAULT 2 module_request + 23: ffffffff8000e290 16 OBJECT LOCAL DEFAULT 2 limine_requests_[...] + 24: ffffffff8000e000 32 OBJECT LOCAL DEFAULT 2 limine_requests_[...] + 25: ffffffff8000e110 24 OBJECT LOCAL DEFAULT 2 limine_base_revision + 26: 0000000000000000 0 FILE LOCAL DEFAULT ABS liballoc.c + 27: ffffffff80000fb0 129 FUNC LOCAL DEFAULT 1 allocate_new_page + 28: ffffffff8001fbc0 8 OBJECT LOCAL DEFAULT 5 l_allocated + 29: ffffffff8001fbb0 8 OBJECT LOCAL DEFAULT 5 l_warningCount + 30: ffffffff8001fbd0 8 OBJECT LOCAL DEFAULT 5 l_memRoot + 31: ffffffff8001fbc8 8 OBJECT LOCAL DEFAULT 5 l_bestBet + 32: ffffffff8001fbb8 8 OBJECT LOCAL DEFAULT 5 l_inuse + 33: 0000000000000000 0 FILE LOCAL DEFAULT ABS liballoc_soaplin.c + 34: ffffffff8001fbd8 4 OBJECT LOCAL DEFAULT 5 liballoc_lock_var + 35: 0000000000000000 0 FILE LOCAL DEFAULT ABS memop.c + 36: 0000000000000000 0 FILE LOCAL DEFAULT ABS pmm.c + 37: 0000000000000000 0 FILE LOCAL DEFAULT ABS vma.c + 38: 0000000000000000 0 FILE LOCAL DEFAULT ABS vmm.c + 39: ffffffff80001a20 144 FUNC LOCAL DEFAULT 1 __vmm_get_next_lvl + 40: ffffffff8000e200 72 OBJECT LOCAL DEFAULT 2 pmrq + 41: 0000000000000000 0 FILE LOCAL DEFAULT ABS sched.c + 42: ffffffff80002050 254 FUNC LOCAL DEFAULT 1 schedule.part.0 + 43: 0000000000000000 0 FILE LOCAL DEFAULT ABS acpi.c + 44: ffffffff8001fc40 8 OBJECT LOCAL DEFAULT 5 __acpi_rsdt_ptr + 45: ffffffff8001fc48 4 OBJECT LOCAL DEFAULT 5 __acpi_uses_xsdt + 46: ffffffff8000e260 48 OBJECT LOCAL DEFAULT 2 rsdp_req + 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS madt.c + 48: 0000000000000000 0 FILE LOCAL DEFAULT ABS panic.c + 49: ffffffff80002790 527 FUNC LOCAL DEFAULT 1 __panic_display_regs + 50: ffffffff80020c60 176 OBJECT LOCAL DEFAULT 5 __panic_regdump + 51: 0000000000000000 0 FILE LOCAL DEFAULT ABS fb.c + 52: ffffffff80002cd0 75 FUNC LOCAL DEFAULT 1 bump_alloc + 53: ffffffff80020d10 1 OBJECT LOCAL DEFAULT 5 base_offset_added.0 + 54: ffffffff80020d18 8 OBJECT LOCAL DEFAULT 5 bump_alloc_ptr + 55: ffffffff80020d20 0xd5228 OBJECT LOCAL DEFAULT 5 bump_alloc_pool + 56: ffffffff80002d20 43 FUNC LOCAL DEFAULT 1 flanterm_fb_save[...] + 57: ffffffff80002d50 43 FUNC LOCAL DEFAULT 1 flanterm_fb_rest[...] + 58: ffffffff80002d80 27 FUNC LOCAL DEFAULT 1 flanterm_fb_swap[...] + 59: ffffffff80002da0 163 FUNC LOCAL DEFAULT 1 push_to_queue + 60: ffffffff80002e50 211 FUNC LOCAL DEFAULT 1 flanterm_fb_revscroll + 61: ffffffff80002f30 213 FUNC LOCAL DEFAULT 1 flanterm_fb_scroll + 62: ffffffff80003010 69 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 63: ffffffff80003060 60 FUNC LOCAL DEFAULT 1 flanterm_fb_get_[...] + 64: ffffffff800030a0 113 FUNC LOCAL DEFAULT 1 flanterm_fb_move[...] + 65: ffffffff80003120 14 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 66: ffffffff80003130 14 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 67: ffffffff80003140 14 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 68: ffffffff80003150 14 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 69: ffffffff80003160 55 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 70: ffffffff800031a0 55 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 71: ffffffff800031e0 13 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 72: ffffffff800031f0 11 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 73: ffffffff80003200 13 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 74: ffffffff80003210 13 FUNC LOCAL DEFAULT 1 flanterm_fb_set_[...] + 75: ffffffff80003220 238 FUNC LOCAL DEFAULT 1 draw_cursor + 76: ffffffff80003310 346 FUNC LOCAL DEFAULT 1 flanterm_fb_doub[...] + 77: ffffffff80003480 368 FUNC LOCAL DEFAULT 1 flanterm_fb_full[...] + 78: ffffffff800035f0 185 FUNC LOCAL DEFAULT 1 flanterm_fb_deinit + 79: ffffffff80020d11 1 OBJECT LOCAL DEFAULT 5 bump_allocated_i[...] + 80: ffffffff800036b0 469 FUNC LOCAL DEFAULT 1 plot_char_scaled[...] + 81: ffffffff80003890 289 FUNC LOCAL DEFAULT 1 plot_char_unscal[...] + 82: ffffffff800039c0 311 FUNC LOCAL DEFAULT 1 plot_char_unscal[...] + 83: ffffffff80003b00 416 FUNC LOCAL DEFAULT 1 plot_char_scaled[...] + 84: ffffffff80003ca0 256 FUNC LOCAL DEFAULT 1 flanterm_fb_clear + 85: ffffffff80003da0 395 FUNC LOCAL DEFAULT 1 flanterm_fb_raw_[...] + 86: ffffffff8000ffa0 4096 OBJECT LOCAL DEFAULT 3 builtin_font + 87: 0000000000000000 0 FILE LOCAL DEFAULT ABS flanterm.c + 88: ffffffff80013100 1136 OBJECT LOCAL DEFAULT 3 combining.0 + 89: ffffffff80013580 960 OBJECT LOCAL DEFAULT 3 col256 + 90: 0000000000000000 0 FILE LOCAL DEFAULT ABS log.c + 91: 0000000000000000 0 FILE LOCAL DEFAULT ABS printf.c + 92: ffffffff80006c40 113 FUNC LOCAL DEFAULT 1 npf_utoa_rev + 93: ffffffff80006cc0 26 FUNC LOCAL DEFAULT 1 npf_bufputc + 94: ffffffff80006ce0 1 FUNC LOCAL DEFAULT 1 npf_bufputc_nop + 95: 0000000000000000 0 FILE LOCAL DEFAULT ABS syscall.c + 96: ffffffff800084e0 3 FUNC LOCAL DEFAULT 1 __syscall_undefined + 97: ffffffff800f5f60 8192 OBJECT LOCAL DEFAULT 5 syscall_table + 98: 0000000000000000 0 FILE LOCAL DEFAULT ABS syscalls_proc.c + 99: 0000000000000000 0 FILE LOCAL DEFAULT ABS src/arch/x86_64/[...] + 100: ffffffff80008660 0 NOTYPE LOCAL DEFAULT 1 isr_stub_0 + 101: ffffffff800086a0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_1 + 102: ffffffff800086e0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_2 + 103: ffffffff80008720 0 NOTYPE LOCAL DEFAULT 1 isr_stub_3 + 104: ffffffff80008760 0 NOTYPE LOCAL DEFAULT 1 isr_stub_4 + 105: ffffffff800087a0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_5 + 106: ffffffff800087e0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_6 + 107: ffffffff80008820 0 NOTYPE LOCAL DEFAULT 1 isr_stub_7 + 108: ffffffff80008860 0 NOTYPE LOCAL DEFAULT 1 isr_stub_8 + 109: ffffffff8000889e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_9 + 110: ffffffff800088de 0 NOTYPE LOCAL DEFAULT 1 isr_stub_10 + 111: ffffffff8000891c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_11 + 112: ffffffff8000895a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_12 + 113: ffffffff80008998 0 NOTYPE LOCAL DEFAULT 1 isr_stub_13 + 114: ffffffff800089d6 0 NOTYPE LOCAL DEFAULT 1 isr_stub_14 + 115: ffffffff80008a14 0 NOTYPE LOCAL DEFAULT 1 isr_stub_15 + 116: ffffffff80008a54 0 NOTYPE LOCAL DEFAULT 1 isr_stub_16 + 117: ffffffff80008a94 0 NOTYPE LOCAL DEFAULT 1 isr_stub_17 + 118: ffffffff80008ad2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_18 + 119: ffffffff80008b12 0 NOTYPE LOCAL DEFAULT 1 isr_stub_19 + 120: ffffffff80008b52 0 NOTYPE LOCAL DEFAULT 1 isr_stub_20 + 121: ffffffff80008b92 0 NOTYPE LOCAL DEFAULT 1 isr_stub_21 + 122: ffffffff80008bd2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_22 + 123: ffffffff80008c12 0 NOTYPE LOCAL DEFAULT 1 isr_stub_23 + 124: ffffffff80008c52 0 NOTYPE LOCAL DEFAULT 1 isr_stub_24 + 125: ffffffff80008c92 0 NOTYPE LOCAL DEFAULT 1 isr_stub_25 + 126: ffffffff80008cd2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_26 + 127: ffffffff80008d12 0 NOTYPE LOCAL DEFAULT 1 isr_stub_27 + 128: ffffffff80008d52 0 NOTYPE LOCAL DEFAULT 1 isr_stub_28 + 129: ffffffff80008d92 0 NOTYPE LOCAL DEFAULT 1 isr_stub_29 + 130: ffffffff80008dd2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_30 + 131: ffffffff80008e10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_31 + 132: ffffffff80008e50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_32 + 133: ffffffff80008e90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_33 + 134: ffffffff80008ed0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_34 + 135: ffffffff80008f10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_35 + 136: ffffffff80008f50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_36 + 137: ffffffff80008f90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_37 + 138: ffffffff80008fd0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_38 + 139: ffffffff80009010 0 NOTYPE LOCAL DEFAULT 1 isr_stub_39 + 140: ffffffff80009050 0 NOTYPE LOCAL DEFAULT 1 isr_stub_40 + 141: ffffffff80009090 0 NOTYPE LOCAL DEFAULT 1 isr_stub_41 + 142: ffffffff800090d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_42 + 143: ffffffff80009110 0 NOTYPE LOCAL DEFAULT 1 isr_stub_43 + 144: ffffffff80009150 0 NOTYPE LOCAL DEFAULT 1 isr_stub_44 + 145: ffffffff80009190 0 NOTYPE LOCAL DEFAULT 1 isr_stub_45 + 146: ffffffff800091d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_46 + 147: ffffffff80009210 0 NOTYPE LOCAL DEFAULT 1 isr_stub_47 + 148: ffffffff80009250 0 NOTYPE LOCAL DEFAULT 1 isr_stub_48 + 149: ffffffff80009290 0 NOTYPE LOCAL DEFAULT 1 isr_stub_49 + 150: ffffffff800092d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_50 + 151: ffffffff80009310 0 NOTYPE LOCAL DEFAULT 1 isr_stub_51 + 152: ffffffff80009350 0 NOTYPE LOCAL DEFAULT 1 isr_stub_52 + 153: ffffffff80009390 0 NOTYPE LOCAL DEFAULT 1 isr_stub_53 + 154: ffffffff800093d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_54 + 155: ffffffff80009410 0 NOTYPE LOCAL DEFAULT 1 isr_stub_55 + 156: ffffffff80009450 0 NOTYPE LOCAL DEFAULT 1 isr_stub_56 + 157: ffffffff80009490 0 NOTYPE LOCAL DEFAULT 1 isr_stub_57 + 158: ffffffff800094d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_58 + 159: ffffffff80009510 0 NOTYPE LOCAL DEFAULT 1 isr_stub_59 + 160: ffffffff80009550 0 NOTYPE LOCAL DEFAULT 1 isr_stub_60 + 161: ffffffff80009590 0 NOTYPE LOCAL DEFAULT 1 isr_stub_61 + 162: ffffffff800095d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_62 + 163: ffffffff80009610 0 NOTYPE LOCAL DEFAULT 1 isr_stub_63 + 164: ffffffff80009650 0 NOTYPE LOCAL DEFAULT 1 isr_stub_64 + 165: ffffffff80009690 0 NOTYPE LOCAL DEFAULT 1 isr_stub_65 + 166: ffffffff800096d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_66 + 167: ffffffff80009710 0 NOTYPE LOCAL DEFAULT 1 isr_stub_67 + 168: ffffffff80009750 0 NOTYPE LOCAL DEFAULT 1 isr_stub_68 + 169: ffffffff80009790 0 NOTYPE LOCAL DEFAULT 1 isr_stub_69 + 170: ffffffff800097d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_70 + 171: ffffffff80009810 0 NOTYPE LOCAL DEFAULT 1 isr_stub_71 + 172: ffffffff80009850 0 NOTYPE LOCAL DEFAULT 1 isr_stub_72 + 173: ffffffff80009890 0 NOTYPE LOCAL DEFAULT 1 isr_stub_73 + 174: ffffffff800098d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_74 + 175: ffffffff80009910 0 NOTYPE LOCAL DEFAULT 1 isr_stub_75 + 176: ffffffff80009950 0 NOTYPE LOCAL DEFAULT 1 isr_stub_76 + 177: ffffffff80009990 0 NOTYPE LOCAL DEFAULT 1 isr_stub_77 + 178: ffffffff800099d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_78 + 179: ffffffff80009a10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_79 + 180: ffffffff80009a50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_80 + 181: ffffffff80009a90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_81 + 182: ffffffff80009ad0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_82 + 183: ffffffff80009b10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_83 + 184: ffffffff80009b50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_84 + 185: ffffffff80009b90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_85 + 186: ffffffff80009bd0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_86 + 187: ffffffff80009c10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_87 + 188: ffffffff80009c50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_88 + 189: ffffffff80009c90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_89 + 190: ffffffff80009cd0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_90 + 191: ffffffff80009d10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_91 + 192: ffffffff80009d50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_92 + 193: ffffffff80009d90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_93 + 194: ffffffff80009dd0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_94 + 195: ffffffff80009e10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_95 + 196: ffffffff80009e50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_96 + 197: ffffffff80009e90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_97 + 198: ffffffff80009ed0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_98 + 199: ffffffff80009f10 0 NOTYPE LOCAL DEFAULT 1 isr_stub_99 + 200: ffffffff80009f50 0 NOTYPE LOCAL DEFAULT 1 isr_stub_100 + 201: ffffffff80009f90 0 NOTYPE LOCAL DEFAULT 1 isr_stub_101 + 202: ffffffff80009fd0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_102 + 203: ffffffff8000a010 0 NOTYPE LOCAL DEFAULT 1 isr_stub_103 + 204: ffffffff8000a050 0 NOTYPE LOCAL DEFAULT 1 isr_stub_104 + 205: ffffffff8000a090 0 NOTYPE LOCAL DEFAULT 1 isr_stub_105 + 206: ffffffff8000a0d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_106 + 207: ffffffff8000a110 0 NOTYPE LOCAL DEFAULT 1 isr_stub_107 + 208: ffffffff8000a150 0 NOTYPE LOCAL DEFAULT 1 isr_stub_108 + 209: ffffffff8000a190 0 NOTYPE LOCAL DEFAULT 1 isr_stub_109 + 210: ffffffff8000a1d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_110 + 211: ffffffff8000a210 0 NOTYPE LOCAL DEFAULT 1 isr_stub_111 + 212: ffffffff8000a250 0 NOTYPE LOCAL DEFAULT 1 isr_stub_112 + 213: ffffffff8000a290 0 NOTYPE LOCAL DEFAULT 1 isr_stub_113 + 214: ffffffff8000a2d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_114 + 215: ffffffff8000a310 0 NOTYPE LOCAL DEFAULT 1 isr_stub_115 + 216: ffffffff8000a350 0 NOTYPE LOCAL DEFAULT 1 isr_stub_116 + 217: ffffffff8000a390 0 NOTYPE LOCAL DEFAULT 1 isr_stub_117 + 218: ffffffff8000a3d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_118 + 219: ffffffff8000a410 0 NOTYPE LOCAL DEFAULT 1 isr_stub_119 + 220: ffffffff8000a450 0 NOTYPE LOCAL DEFAULT 1 isr_stub_120 + 221: ffffffff8000a490 0 NOTYPE LOCAL DEFAULT 1 isr_stub_121 + 222: ffffffff8000a4d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_122 + 223: ffffffff8000a510 0 NOTYPE LOCAL DEFAULT 1 isr_stub_123 + 224: ffffffff8000a550 0 NOTYPE LOCAL DEFAULT 1 isr_stub_124 + 225: ffffffff8000a590 0 NOTYPE LOCAL DEFAULT 1 isr_stub_125 + 226: ffffffff8000a5d0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_126 + 227: ffffffff8000a610 0 NOTYPE LOCAL DEFAULT 1 isr_stub_127 + 228: ffffffff8000a650 0 NOTYPE LOCAL DEFAULT 1 isr_stub_128 + 229: ffffffff8000a693 0 NOTYPE LOCAL DEFAULT 1 isr_stub_129 + 230: ffffffff8000a6d6 0 NOTYPE LOCAL DEFAULT 1 isr_stub_130 + 231: ffffffff8000a719 0 NOTYPE LOCAL DEFAULT 1 isr_stub_131 + 232: ffffffff8000a75c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_132 + 233: ffffffff8000a79f 0 NOTYPE LOCAL DEFAULT 1 isr_stub_133 + 234: ffffffff8000a7e2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_134 + 235: ffffffff8000a825 0 NOTYPE LOCAL DEFAULT 1 isr_stub_135 + 236: ffffffff8000a868 0 NOTYPE LOCAL DEFAULT 1 isr_stub_136 + 237: ffffffff8000a8ab 0 NOTYPE LOCAL DEFAULT 1 isr_stub_137 + 238: ffffffff8000a8ee 0 NOTYPE LOCAL DEFAULT 1 isr_stub_138 + 239: ffffffff8000a931 0 NOTYPE LOCAL DEFAULT 1 isr_stub_139 + 240: ffffffff8000a974 0 NOTYPE LOCAL DEFAULT 1 isr_stub_140 + 241: ffffffff8000a9b7 0 NOTYPE LOCAL DEFAULT 1 isr_stub_141 + 242: ffffffff8000a9fa 0 NOTYPE LOCAL DEFAULT 1 isr_stub_142 + 243: ffffffff8000aa3d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_143 + 244: ffffffff8000aa80 0 NOTYPE LOCAL DEFAULT 1 isr_stub_144 + 245: ffffffff8000aac3 0 NOTYPE LOCAL DEFAULT 1 isr_stub_145 + 246: ffffffff8000ab06 0 NOTYPE LOCAL DEFAULT 1 isr_stub_146 + 247: ffffffff8000ab49 0 NOTYPE LOCAL DEFAULT 1 isr_stub_147 + 248: ffffffff8000ab8c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_148 + 249: ffffffff8000abcf 0 NOTYPE LOCAL DEFAULT 1 isr_stub_149 + 250: ffffffff8000ac12 0 NOTYPE LOCAL DEFAULT 1 isr_stub_150 + 251: ffffffff8000ac55 0 NOTYPE LOCAL DEFAULT 1 isr_stub_151 + 252: ffffffff8000ac98 0 NOTYPE LOCAL DEFAULT 1 isr_stub_152 + 253: ffffffff8000acdb 0 NOTYPE LOCAL DEFAULT 1 isr_stub_153 + 254: ffffffff8000ad1e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_154 + 255: ffffffff8000ad61 0 NOTYPE LOCAL DEFAULT 1 isr_stub_155 + 256: ffffffff8000ada4 0 NOTYPE LOCAL DEFAULT 1 isr_stub_156 + 257: ffffffff8000ade7 0 NOTYPE LOCAL DEFAULT 1 isr_stub_157 + 258: ffffffff8000ae2a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_158 + 259: ffffffff8000ae6d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_159 + 260: ffffffff8000aeb0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_160 + 261: ffffffff8000aef3 0 NOTYPE LOCAL DEFAULT 1 isr_stub_161 + 262: ffffffff8000af36 0 NOTYPE LOCAL DEFAULT 1 isr_stub_162 + 263: ffffffff8000af79 0 NOTYPE LOCAL DEFAULT 1 isr_stub_163 + 264: ffffffff8000afbc 0 NOTYPE LOCAL DEFAULT 1 isr_stub_164 + 265: ffffffff8000afff 0 NOTYPE LOCAL DEFAULT 1 isr_stub_165 + 266: ffffffff8000b042 0 NOTYPE LOCAL DEFAULT 1 isr_stub_166 + 267: ffffffff8000b085 0 NOTYPE LOCAL DEFAULT 1 isr_stub_167 + 268: ffffffff8000b0c8 0 NOTYPE LOCAL DEFAULT 1 isr_stub_168 + 269: ffffffff8000b10b 0 NOTYPE LOCAL DEFAULT 1 isr_stub_169 + 270: ffffffff8000b14e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_170 + 271: ffffffff8000b191 0 NOTYPE LOCAL DEFAULT 1 isr_stub_171 + 272: ffffffff8000b1d4 0 NOTYPE LOCAL DEFAULT 1 isr_stub_172 + 273: ffffffff8000b217 0 NOTYPE LOCAL DEFAULT 1 isr_stub_173 + 274: ffffffff8000b25a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_174 + 275: ffffffff8000b29d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_175 + 276: ffffffff8000b2e0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_176 + 277: ffffffff8000b323 0 NOTYPE LOCAL DEFAULT 1 isr_stub_177 + 278: ffffffff8000b366 0 NOTYPE LOCAL DEFAULT 1 isr_stub_178 + 279: ffffffff8000b3a9 0 NOTYPE LOCAL DEFAULT 1 isr_stub_179 + 280: ffffffff8000b3ec 0 NOTYPE LOCAL DEFAULT 1 isr_stub_180 + 281: ffffffff8000b42f 0 NOTYPE LOCAL DEFAULT 1 isr_stub_181 + 282: ffffffff8000b472 0 NOTYPE LOCAL DEFAULT 1 isr_stub_182 + 283: ffffffff8000b4b5 0 NOTYPE LOCAL DEFAULT 1 isr_stub_183 + 284: ffffffff8000b4f8 0 NOTYPE LOCAL DEFAULT 1 isr_stub_184 + 285: ffffffff8000b53b 0 NOTYPE LOCAL DEFAULT 1 isr_stub_185 + 286: ffffffff8000b57e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_186 + 287: ffffffff8000b5c1 0 NOTYPE LOCAL DEFAULT 1 isr_stub_187 + 288: ffffffff8000b604 0 NOTYPE LOCAL DEFAULT 1 isr_stub_188 + 289: ffffffff8000b647 0 NOTYPE LOCAL DEFAULT 1 isr_stub_189 + 290: ffffffff8000b68a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_190 + 291: ffffffff8000b6cd 0 NOTYPE LOCAL DEFAULT 1 isr_stub_191 + 292: ffffffff8000b710 0 NOTYPE LOCAL DEFAULT 1 isr_stub_192 + 293: ffffffff8000b753 0 NOTYPE LOCAL DEFAULT 1 isr_stub_193 + 294: ffffffff8000b796 0 NOTYPE LOCAL DEFAULT 1 isr_stub_194 + 295: ffffffff8000b7d9 0 NOTYPE LOCAL DEFAULT 1 isr_stub_195 + 296: ffffffff8000b81c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_196 + 297: ffffffff8000b85f 0 NOTYPE LOCAL DEFAULT 1 isr_stub_197 + 298: ffffffff8000b8a2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_198 + 299: ffffffff8000b8e5 0 NOTYPE LOCAL DEFAULT 1 isr_stub_199 + 300: ffffffff8000b928 0 NOTYPE LOCAL DEFAULT 1 isr_stub_200 + 301: ffffffff8000b96b 0 NOTYPE LOCAL DEFAULT 1 isr_stub_201 + 302: ffffffff8000b9ae 0 NOTYPE LOCAL DEFAULT 1 isr_stub_202 + 303: ffffffff8000b9f1 0 NOTYPE LOCAL DEFAULT 1 isr_stub_203 + 304: ffffffff8000ba34 0 NOTYPE LOCAL DEFAULT 1 isr_stub_204 + 305: ffffffff8000ba77 0 NOTYPE LOCAL DEFAULT 1 isr_stub_205 + 306: ffffffff8000baba 0 NOTYPE LOCAL DEFAULT 1 isr_stub_206 + 307: ffffffff8000bafd 0 NOTYPE LOCAL DEFAULT 1 isr_stub_207 + 308: ffffffff8000bb40 0 NOTYPE LOCAL DEFAULT 1 isr_stub_208 + 309: ffffffff8000bb83 0 NOTYPE LOCAL DEFAULT 1 isr_stub_209 + 310: ffffffff8000bbc6 0 NOTYPE LOCAL DEFAULT 1 isr_stub_210 + 311: ffffffff8000bc09 0 NOTYPE LOCAL DEFAULT 1 isr_stub_211 + 312: ffffffff8000bc4c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_212 + 313: ffffffff8000bc8f 0 NOTYPE LOCAL DEFAULT 1 isr_stub_213 + 314: ffffffff8000bcd2 0 NOTYPE LOCAL DEFAULT 1 isr_stub_214 + 315: ffffffff8000bd15 0 NOTYPE LOCAL DEFAULT 1 isr_stub_215 + 316: ffffffff8000bd58 0 NOTYPE LOCAL DEFAULT 1 isr_stub_216 + 317: ffffffff8000bd9b 0 NOTYPE LOCAL DEFAULT 1 isr_stub_217 + 318: ffffffff8000bdde 0 NOTYPE LOCAL DEFAULT 1 isr_stub_218 + 319: ffffffff8000be21 0 NOTYPE LOCAL DEFAULT 1 isr_stub_219 + 320: ffffffff8000be64 0 NOTYPE LOCAL DEFAULT 1 isr_stub_220 + 321: ffffffff8000bea7 0 NOTYPE LOCAL DEFAULT 1 isr_stub_221 + 322: ffffffff8000beea 0 NOTYPE LOCAL DEFAULT 1 isr_stub_222 + 323: ffffffff8000bf2d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_223 + 324: ffffffff8000bf70 0 NOTYPE LOCAL DEFAULT 1 isr_stub_224 + 325: ffffffff8000bfb3 0 NOTYPE LOCAL DEFAULT 1 isr_stub_225 + 326: ffffffff8000bff6 0 NOTYPE LOCAL DEFAULT 1 isr_stub_226 + 327: ffffffff8000c039 0 NOTYPE LOCAL DEFAULT 1 isr_stub_227 + 328: ffffffff8000c07c 0 NOTYPE LOCAL DEFAULT 1 isr_stub_228 + 329: ffffffff8000c0bf 0 NOTYPE LOCAL DEFAULT 1 isr_stub_229 + 330: ffffffff8000c102 0 NOTYPE LOCAL DEFAULT 1 isr_stub_230 + 331: ffffffff8000c145 0 NOTYPE LOCAL DEFAULT 1 isr_stub_231 + 332: ffffffff8000c188 0 NOTYPE LOCAL DEFAULT 1 isr_stub_232 + 333: ffffffff8000c1cb 0 NOTYPE LOCAL DEFAULT 1 isr_stub_233 + 334: ffffffff8000c20e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_234 + 335: ffffffff8000c251 0 NOTYPE LOCAL DEFAULT 1 isr_stub_235 + 336: ffffffff8000c294 0 NOTYPE LOCAL DEFAULT 1 isr_stub_236 + 337: ffffffff8000c2d7 0 NOTYPE LOCAL DEFAULT 1 isr_stub_237 + 338: ffffffff8000c31a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_238 + 339: ffffffff8000c35d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_239 + 340: ffffffff8000c3a0 0 NOTYPE LOCAL DEFAULT 1 isr_stub_240 + 341: ffffffff8000c3e3 0 NOTYPE LOCAL DEFAULT 1 isr_stub_241 + 342: ffffffff8000c426 0 NOTYPE LOCAL DEFAULT 1 isr_stub_242 + 343: ffffffff8000c469 0 NOTYPE LOCAL DEFAULT 1 isr_stub_243 + 344: ffffffff8000c4ac 0 NOTYPE LOCAL DEFAULT 1 isr_stub_244 + 345: ffffffff8000c4ef 0 NOTYPE LOCAL DEFAULT 1 isr_stub_245 + 346: ffffffff8000c532 0 NOTYPE LOCAL DEFAULT 1 isr_stub_246 + 347: ffffffff8000c575 0 NOTYPE LOCAL DEFAULT 1 isr_stub_247 + 348: ffffffff8000c5b8 0 NOTYPE LOCAL DEFAULT 1 isr_stub_248 + 349: ffffffff8000c5fb 0 NOTYPE LOCAL DEFAULT 1 isr_stub_249 + 350: ffffffff8000c63e 0 NOTYPE LOCAL DEFAULT 1 isr_stub_250 + 351: ffffffff8000c681 0 NOTYPE LOCAL DEFAULT 1 isr_stub_251 + 352: ffffffff8000c6c4 0 NOTYPE LOCAL DEFAULT 1 isr_stub_252 + 353: ffffffff8000c707 0 NOTYPE LOCAL DEFAULT 1 isr_stub_253 + 354: ffffffff8000c74a 0 NOTYPE LOCAL DEFAULT 1 isr_stub_254 + 355: ffffffff8000c78d 0 NOTYPE LOCAL DEFAULT 1 isr_stub_255 + 356: 0000000000000000 0 FILE LOCAL DEFAULT ABS src/arch/x86_64/[...] + 357: 0000000000000000 0 FILE LOCAL DEFAULT ABS src/premain.asm + 358: 0000000000000000 0 FILE LOCAL DEFAULT ABS font.c + 359: ffffffff80000350 236 FUNC GLOBAL DEFAULT 1 smp_init + 360: ffffffff80006af0 285 FUNC GLOBAL DEFAULT 1 log + 361: ffffffff80008420 189 FUNC GLOBAL DEFAULT 1 printf + 362: ffffffff8001fc58 4 OBJECT GLOBAL DEFAULT 5 acpi_madt_iso_length + 363: ffffffff80003f40 3011 FUNC GLOBAL DEFAULT 1 flanterm_fb_init + 364: ffffffff80013de0 0 NOTYPE GLOBAL DEFAULT 3 rodata_end_ld + 365: ffffffff800084f0 184 FUNC GLOBAL DEFAULT 1 syscall_handle + 366: ffffffff800024c0 78 FUNC GLOBAL DEFAULT 1 sched_exit + 367: ffffffff8001fc08 8 OBJECT GLOBAL DEFAULT 5 kernel_vma_context + 368: ffffffff80001400 13 FUNC GLOBAL DEFAULT 1 liballoc_unlock + 369: ffffffff80000920 19 FUNC GLOBAL DEFAULT 1 lapic_eoi + 370: ffffffff8001fc38 8 OBJECT GLOBAL DEFAULT 5 proc_list + 371: ffffffff8001fbe0 8 OBJECT GLOBAL DEFAULT 5 hhdm_offset + 372: ffffffff80020460 2048 OBJECT GLOBAL DEFAULT 5 acpi_madt_ioapic_list + 373: ffffffff80001ce0 721 FUNC GLOBAL DEFAULT 1 vmm_init + 374: ffffffff80001430 36 FUNC GLOBAL DEFAULT 1 memcpy + 375: ffffffff8001db74 4 OBJECT GLOBAL DEFAULT 5 ctr + 376: ffffffff80002600 134 FUNC GLOBAL DEFAULT 1 acpi_init + 377: ffffffff80000760 102 FUNC GLOBAL DEFAULT 1 ioapic_get_gsi + 378: ffffffff80001040 904 FUNC GLOBAL DEFAULT 1 malloc + 379: ffffffff800008f0 38 FUNC GLOBAL DEFAULT 1 lapic_init + 380: ffffffff800017d0 249 FUNC GLOBAL DEFAULT 1 vma_create_context + 381: ffffffff8001fc28 4 OBJECT GLOBAL DEFAULT 5 standby + 382: ffffffff8000e1c0 48 OBJECT GLOBAL DEFAULT 2 karq + 383: ffffffff8000e2a0 0 NOTYPE GLOBAL DEFAULT 2 reqs_end_ld + 384: ffffffff80001ac0 157 FUNC GLOBAL DEFAULT 1 vmm_alloc_pm + 385: ffffffff80000000 183 FUNC GLOBAL DEFAULT 1 gdt_init + 386: ffffffff8000f000 0 NOTYPE GLOBAL DEFAULT 3 rodata_start_ld + 387: ffffffff80000650 257 FUNC GLOBAL DEFAULT 1 ioapic_init + 388: ffffffff80000df0 435 FUNC GLOBAL DEFAULT 1 __kmain + 389: ffffffff8001fc30 8 OBJECT GLOBAL DEFAULT 5 curr_proc + 390: ffffffff800004a0 283 FUNC GLOBAL DEFAULT 1 ksym_init + 391: ffffffff80000880 111 FUNC GLOBAL DEFAULT 1 ioapic_redirect_irq + 392: ffffffff8001fbf0 24 OBJECT GLOBAL DEFAULT 5 stack + 393: ffffffff80002510 27 FUNC GLOBAL DEFAULT 1 schedule + 394: ffffffff8001db7c 4 OBJECT GLOBAL DEFAULT 5 bootstrap_lapic_id + 395: ffffffff8001fba8 8 OBJECT GLOBAL DEFAULT 5 fb + 396: ffffffff80000300 20 FUNC GLOBAL DEFAULT 1 pit_enable + 397: ffffffff80001bc0 144 FUNC GLOBAL DEFAULT 1 virt_to_phys + 398: ffffffff800013d0 35 FUNC GLOBAL DEFAULT 1 liballoc_lock + 399: ffffffff800002c0 51 FUNC GLOBAL DEFAULT 1 pit_init + 400: ffffffff800083a0 127 FUNC GLOBAL DEFAULT 1 npf_vsnprintf + 401: ffffffff800018e0 316 FUNC GLOBAL DEFAULT 1 vma_alloc + 402: ffffffff80000120 246 FUNC GLOBAL DEFAULT 1 idt_init + 403: ffffffff80000320 33 FUNC GLOBAL DEFAULT 1 smp_entry + 404: ffffffff80001710 104 FUNC GLOBAL DEFAULT 1 pmm_request_page + 405: ffffffff80001c50 140 FUNC GLOBAL DEFAULT 1 vmm_map + 406: ffffffff8001fc5c 4 OBJECT GLOBAL DEFAULT 5 acpi_madt_ioapic[...] + 407: ffffffff8000e140 48 OBJECT GLOBAL DEFAULT 2 hhdm_req + 408: ffffffff8001fc60 2048 OBJECT GLOBAL DEFAULT 5 acpi_madt_iso_list + 409: ffffffff80002b40 393 FUNC GLOBAL DEFAULT 1 panic_ctx + 410: ffffffff8001fc2c 4 OBJECT GLOBAL DEFAULT 5 current_pid + 411: ffffffff80004d00 7649 FUNC GLOBAL DEFAULT 1 flanterm_write + 412: ffffffff80001b60 64 FUNC GLOBAL DEFAULT 1 vmm_release_pm + 413: ffffffff8001c060 1792 OBJECT GLOBAL DEFAULT 5 irq_handler_table + 414: ffffffff80001410 26 FUNC GLOBAL DEFAULT 1 liballoc_alloc + 415: ffffffff80000440 84 FUNC GLOBAL DEFAULT 1 __x86_64_syscall_init + 416: ffffffff800029a0 90 FUNC GLOBAL DEFAULT 1 __panic_display_[...] + 417: ffffffff80008650 13 FUNC GLOBAL DEFAULT 1 syscall_exit + 418: ffffffff80006d00 5792 FUNC GLOBAL DEFAULT 1 npf_vpprintf + 419: ffffffff80002a00 307 FUNC GLOBAL DEFAULT 1 panic + 420: ffffffff8001fc10 4 OBJECT GLOBAL DEFAULT 5 vmm_kernel_pm_exists + 421: ffffffff800014c0 67 FUNC GLOBAL DEFAULT 1 memcmp + 422: ffffffff800021d0 752 FUNC GLOBAL DEFAULT 1 sched_create + 423: ffffffff8001db70 4 OBJECT GLOBAL DEFAULT 5 tick + 424: ffffffff8001fc20 8 OBJECT GLOBAL DEFAULT 5 vmm_kernel_pm + 425: ffffffff800005c0 144 FUNC GLOBAL DEFAULT 1 ksym_fromip + 426: ffffffff800085c0 138 FUNC GLOBAL DEFAULT 1 syscall_init + 427: ffffffff80000290 6 FUNC GLOBAL DEFAULT 1 outb + 428: ffffffff80014000 88 OBJECT GLOBAL DEFAULT 4 def_table + 429: ffffffff8001fba0 8 OBJECT GLOBAL DEFAULT 5 ft_ctx + 430: ffffffff80001460 68 FUNC GLOBAL DEFAULT 1 memset + 431: ffffffff80001780 76 FUNC GLOBAL DEFAULT 1 pmm_free_page + 432: ffffffff80000220 101 FUNC GLOBAL DEFAULT 1 idt_int_handler + 433: ffffffff8001fc50 8 OBJECT GLOBAL DEFAULT 5 acpi_lapic_addr + 434: ffffffff80004b10 136 FUNC GLOBAL DEFAULT 1 flanterm_context[...] + 435: ffffffff80000da0 80 FUNC GLOBAL DEFAULT 1 strcmp + 436: ffffffff80001fc0 137 FUNC GLOBAL DEFAULT 1 vmm_map_user + 437: ffffffff80002530 206 FUNC GLOBAL DEFAULT 1 acpi_find_table + 438: ffffffff800000c0 88 FUNC GLOBAL DEFAULT 1 idt_register_irq + 439: ffffffff80014060 4096 OBJECT GLOBAL DEFAULT 4 VGA8 + 440: ffffffff8000d052 0 NOTYPE GLOBAL DEFAULT 1 text_end_ld + 441: ffffffff80001540 451 FUNC GLOBAL DEFAULT 1 pmm_init + 442: ffffffff800007d0 156 FUNC GLOBAL DEFAULT 1 ioapic_redirect_gsi + 443: ffffffff8000e000 0 NOTYPE GLOBAL DEFAULT 2 reqs_start_ld + 444: ffffffff800002a0 18 FUNC GLOBAL DEFAULT 1 pit_handler + 445: ffffffff8001db78 4 OBJECT GLOBAL DEFAULT 5 smp_cpu_count + 446: ffffffff8001fc18 8 OBJECT GLOBAL DEFAULT 5 vmm_current_pm + 447: ffffffff80015060 28672 OBJECT GLOBAL DEFAULT 5 tss_list + 448: ffffffff8000c7d0 0 NOTYPE GLOBAL DEFAULT 1 isr_stub_table + 449: ffffffff80014000 0 NOTYPE GLOBAL DEFAULT 4 data_start_ld + 450: ffffffff80001ba0 31 FUNC GLOBAL DEFAULT 1 vmm_load_pagemap + 451: ffffffff80004ba0 331 FUNC GLOBAL DEFAULT 1 mk_wcwidth + 452: ffffffff800f7f60 0 NOTYPE GLOBAL DEFAULT 5 data_end_ld + 453: ffffffff8000d040 0 NOTYPE GLOBAL DEFAULT 1 kmain + 454: ffffffff80002150 123 FUNC GLOBAL DEFAULT 1 sched_init + 455: ffffffff80000d60 35 FUNC GLOBAL DEFAULT 1 strlen + 456: ffffffff800026a0 233 FUNC GLOBAL DEFAULT 1 madt_init + 457: ffffffff80000000 0 NOTYPE GLOBAL DEFAULT 1 text_start_ld + 458: ffffffff8000e180 48 OBJECT GLOBAL DEFAULT 2 mm_req + 459: ffffffff8000cfd0 0 NOTYPE GLOBAL DEFAULT 1 syscall_entry + 460: ffffffff80000940 1050 FUNC GLOBAL DEFAULT 1 elf_load + 461: ffffffff8001dba0 8192 OBJECT GLOBAL DEFAULT 5 kstack + 462: ffffffff8001fbe8 8 OBJECT GLOBAL DEFAULT 5 _memmap + +Aucune information de version repérée dans ce fichier.