Build cleanup and implemented support for qemu debug logging
This commit is contained in:
parent
c6e56a25f6
commit
00cf512522
@ -19,14 +19,16 @@ src_amd64 = [
|
|||||||
"amd64/lapic.c",
|
"amd64/lapic.c",
|
||||||
"amd64/ioapic.c",
|
"amd64/ioapic.c",
|
||||||
"dev/x86/vgacons.c",
|
"dev/x86/vgacons.c",
|
||||||
"dev/ahci.c",
|
"dev/x86/debugcons.c",
|
||||||
"dev/pci.c",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
src_common = [
|
src_common = [
|
||||||
"kern/libc.c",
|
"kern/libc.c",
|
||||||
"kern/palloc.c",
|
"kern/palloc.c",
|
||||||
"kern/printf.c",
|
"kern/printf.c",
|
||||||
|
"dev/ahci.c",
|
||||||
|
"dev/console.c",
|
||||||
|
"dev/pci.c",
|
||||||
]
|
]
|
||||||
|
|
||||||
if (env["ARCH"] == "amd64"):
|
if (env["ARCH"] == "amd64"):
|
||||||
|
28
sys/dev/console.c
Normal file
28
sys/dev/console.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include "console.h"
|
||||||
|
#include "x86/vgacons.h"
|
||||||
|
#include "x86/debugcons.h"
|
||||||
|
|
||||||
|
void
|
||||||
|
Console_Init()
|
||||||
|
{
|
||||||
|
VGA_Init();
|
||||||
|
DebugConsole_Init();
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Console_Putc(char ch)
|
||||||
|
{
|
||||||
|
VGA_Putc(ch);
|
||||||
|
DebugConsole_Putc(ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
Console_Puts(const char *str)
|
||||||
|
{
|
||||||
|
VGA_Puts(str);
|
||||||
|
DebugConsole_Puts(str);
|
||||||
|
}
|
||||||
|
|
@ -2,13 +2,9 @@
|
|||||||
#ifndef __CONSOLE_H__
|
#ifndef __CONSOLE_H__
|
||||||
#define __CONSOLE_H__
|
#define __CONSOLE_H__
|
||||||
|
|
||||||
#include "x86/vgacons.h"
|
void Console_Init();
|
||||||
|
void Console_Putc(char ch);
|
||||||
// Placeholder until a proper console driver is made
|
void Console_Puts(const char *str);
|
||||||
|
|
||||||
#define Console_Init VGA_Init
|
|
||||||
#define Console_Putc VGA_Putc
|
|
||||||
#define Console_Puts VGA_Puts
|
|
||||||
|
|
||||||
#endif /* __CONSOLE_H__ */
|
#endif /* __CONSOLE_H__ */
|
||||||
|
|
||||||
|
28
sys/dev/x86/debugcons.c
Normal file
28
sys/dev/x86/debugcons.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
/*
|
||||||
|
* Debug Console for QEmu compatible port 0xe9
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
#include <cdefs.h>
|
||||||
|
|
||||||
|
#include "../../amd64/amd64.h"
|
||||||
|
#include "../../amd64/amd64op.h"
|
||||||
|
|
||||||
|
void DebugConsole_Init()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void DebugConsole_Putc(short c)
|
||||||
|
{
|
||||||
|
outb(0xe9, (uint8_t)c);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DebugConsole_Puts(const char *str)
|
||||||
|
{
|
||||||
|
const char *p = str;
|
||||||
|
while (*p != '\0')
|
||||||
|
DebugConsole_Putc(*p++);
|
||||||
|
}
|
||||||
|
|
9
sys/dev/x86/debugcons.h
Normal file
9
sys/dev/x86/debugcons.h
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#ifndef __DEBUGCONS_H__
|
||||||
|
#define __DEBUGCONS_H__
|
||||||
|
|
||||||
|
void DebugConsole_Init(void);
|
||||||
|
void DebugConsole_Putc(char ch);
|
||||||
|
void DebugConsole_Puts(const char *str);
|
||||||
|
|
||||||
|
#endif /* __DEBUGCONS_H__ */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user