x86_64: update serial driver to support kernel debugging

This commit is contained in:
2026-06-06 17:51:01 +01:00
parent 249ac7a8cf
commit eb15d2ffa3
3 changed files with 170 additions and 48 deletions
+23 -5
View File
@@ -1,14 +1,21 @@
#ifndef ARCH_SERIAL_H_
#define ARCH_SERIAL_H_
#include <magenta/types.h>
#include <stddef.h>
#ifdef __cplusplus
extern "C" {
#endif
#define SERIAL_PORT_A 0x3F8
#define SERIAL_PORT_B 0x2F8
#define SERIAL_PORT_C 0x3E8
#define SERIAL_PORT_D 0x2E8
#define COM(x) (x)
#define COM1 COM(1)
#define COM2 COM(2)
#define COM3 COM(3)
#define COM4 COM(4)
extern void serial_init(int baud);
extern void serial_putchar(int port, char ch);
@@ -18,7 +25,18 @@ extern char serial_recv_byte(int device);
extern int serial_rcvd(int device);
extern void early_serialcon_init(int baud);
extern kern_status_t serial_read(
int device,
void *buf,
size_t max,
size_t *nr_read);
extern kern_status_t serial_write(
int device,
const void *buf,
size_t count,
size_t *nr_written);
extern void early_serialcon_init(void);
#ifdef __cplusplus
}