Printf now has long (64-bit), char, and % literal support. I haven't written anything specific for shorts yet but if you cast it to an int on the way in, it'll work anyway, so whatever.
35 lines
753 B
C
35 lines
753 B
C
/* kmultiboot.h
|
|
* Kernel Multiboot
|
|
*
|
|
* Data needed for multiboot compatibility.
|
|
*/
|
|
#ifndef KMULTIBOOT_H
|
|
#define KMULTIBOOT_H
|
|
|
|
#include <stdint.h>
|
|
typedef struct multiboot_mmap_entry {
|
|
uint32_t entry_size; //size of this struct entry
|
|
uint64_t addr; //physical location of memory
|
|
uint64_t mem_size; //size of the memory block
|
|
uint32_t type;
|
|
} __attribute__((packed)) mb_mmap_entry_t;
|
|
|
|
|
|
typedef struct mb_info_s {
|
|
uint32_t flags;
|
|
uint32_t mem_lower;
|
|
uint32_t mem_upper;
|
|
uint32_t boot_device;
|
|
uint32_t cmdline;
|
|
uint32_t mods_count;
|
|
uint32_t mods_addr;
|
|
uint32_t syms[4];
|
|
uint32_t mmap_length;
|
|
uint32_t mmap_addr;
|
|
} mb_info_t;
|
|
|
|
|
|
extern uint8_t _kernel_start;
|
|
extern uint8_t _kernel_end;
|
|
|
|
#endif
|