feat: small code optimisations

This commit is contained in:
2022-05-14 16:59:04 +02:00
parent 6d898c07e8
commit e850dabc8b
6 changed files with 13 additions and 17 deletions

View File

@@ -24,7 +24,7 @@ static const char *elf_name_strtab = ".strtab";
struct stackframe {
struct stackframe *ebp;
uint32_t eip;
uintptr_t eip;
};
char *debug_get_shstrtab_entry(uint32_t ndx) {
@@ -80,7 +80,7 @@ void debug_store_info(struct multiboot_info *info) {
debug_find_sections(info->u.elf_sec.shndx);
}
struct elf32_symtab_entry *debug_get_entry_for_addr(uint32_t addr) {
struct elf32_symtab_entry *debug_get_entry_for_addr(uintptr_t addr) {
if (elf_symtab == NULL) {
return NULL;
}
@@ -106,9 +106,9 @@ void debug_backtrace(bool do_sync) {
while (frame->ebp != NULL) {
struct elf32_symtab_entry *entry = debug_get_entry_for_addr(frame->eip);
if (entry == NULL) {
sprintf(msg, "#unknown (%x)\n", frame->eip);
sprintf(msg, "#unknown (%lx)\n", frame->eip);
} else {
sprintf(msg, "%s (%x)\n", debug_get_strtab_entry(entry->st_name), frame->eip);
sprintf(msg, "%s (%lx)\n", debug_get_strtab_entry(entry->st_name), frame->eip);
};
printer(msg);
frame = frame->ebp;

View File

@@ -43,24 +43,21 @@ char *reverse(char *buffer, int i, int j) {
}
// Iterative function to implement itoa() function in C
char *itoa(int value, char *buffer, int base) {
char *itoa(uint32_t value, char *buffer, int base) {
// invalid input
if (base < 2 || base > 32)
return buffer;
// consider absolute value of number
int n = abs(value);
int i = 0;
while (n) {
int r = n % base;
while (value) {
uint32_t r = value % base;
if (r >= 10)
buffer[i++] = 65 + (r - 10);
else
buffer[i++] = 48 + r;
n = n / base;
value = value / base;
}
// if number is 0

View File

@@ -2,7 +2,6 @@
// Created by rick on 22-04-20.
//
#include <attributes.h>
#include <stdio.h>
#include <sys/types.h>
@@ -22,10 +21,10 @@
#define MMAP_TYPE_PAGING 7
typedef struct {
uint32_t address;
uintptr_t address;
uint32_t length;
uint32_t type;
} att_packed mmap_entry;
} mmap_entry;
int last_memmap_entry = 0;
mmap_entry memmap[MEMMAP_ENTRIES] = {
@@ -49,7 +48,7 @@ mmap_entry memmap[MEMMAP_ENTRIES] = {
void use_mmap_entry(struct multiboot_mmap_entry *entry) {
mmap_entry *mm_entry = &memmap[last_memmap_entry++];
mm_entry->address = (void *) entry->addr;
mm_entry->address = (uintptr_t) entry->addr;
mm_entry->length = entry->len;
mm_entry->type = entry->type;
// check if the entry overlaps with the kernel address space

View File

@@ -17,7 +17,6 @@
#define EXT2_DRIVER_NAME "ext2"
#define MI(mount) ((ext2_mount_info_t *)(mount)->global_driver_data)
#define FDI(fd) ((ext2_fd_info_t *)(fd)->driver_data)
#define DIV_ROUND_UP(a, b) (((a) + ((b) - 1)) / (b))
typedef struct ext2_dgetents_state {
uint32_t bp;