Move main module to c++

This commit is contained in:
Justin C. Miller
2018-04-08 12:44:09 -07:00
parent 58729b412a
commit 77cc1fe757
9 changed files with 123 additions and 107 deletions

View File

@@ -2,44 +2,16 @@
#include <stdint.h>
#include "font.h"
#include "kernel_data.h"
#include "screen.h"
void do_the_set_registers();
#pragma pack(push, 1)
struct popcorn_data {
uint32_t magic;
uint16_t version;
uint16_t length;
uint32_t _reserverd0;
uint32_t flags;
void *font;
size_t font_length;
void *data;
size_t data_length;
void *memory_map;
void *runtime;
void *acpi_table;
void *frame_buffer;
size_t frame_buffer_size;
uint32_t hres;
uint32_t vres;
uint32_t rmask;
uint32_t gmask;
uint32_t bmask;
uint32_t _reserved1;
extern "C" {
void do_the_set_registers(popcorn_data *header);
void kernel_main(popcorn_data *header);
}
__attribute__((aligned(8)));
#pragma pack(pop)
void
kernel_main(struct popcorn_data *header)
kernel_main(popcorn_data *header)
{
struct screen screen;
struct font font;

View File

@@ -20,7 +20,7 @@ screen_init(
uint32_t bmask,
struct screen *s)
{
s->data = frame_buffer;
s->data = static_cast<uint32_t *>(frame_buffer);
s->hres = hres;
s->vres = vres;
s->rmask = rmask;