Add basic xHCI driver and USB devices enumeration

This commit is contained in:
2026-08-07 21:11:08 +03:00
parent a2128de3e2
commit 4813725cf3
12 changed files with 721 additions and 117 deletions
+19 -15
View File
@@ -6,37 +6,41 @@
extern stream_t *kernel_log;
#define LOG(fmt, ...) \
#define PRINT(stream, fmt, ...) \
do { \
uint64_t _size = string_length(fmt) * 10; \
char *_string = memory_allocate(_size); \
_size = string_format(fmt, _size, _string, ##__VA_ARGS__); \
kernel_log->write(kernel_log, _string, _size); \
stream->write(stream, _string, _size); \
memory_free(_string); \
} while (0)
#define PRINT_LN(stream, fmt, ...) \
do { \
uint64_t _size = string_length(fmt) * 10; \
char *_string = memory_allocate(_size); \
_size = string_format(fmt, _size, _string, ##__VA_ARGS__); \
stream->write(stream, __func__, string_length(__func__)); \
stream->write(stream, ": ", 2); \
stream->write(stream, _string, _size); \
stream->write(stream, "\n", 1); \
memory_free(_string); \
} while (0)
#define LOG(fmt, ...) PRINT(kernel_log, fmt, ##__VA_ARGS__)
#define TRACE(fmt, ...)
#define LOG_LN(fmt, ...) \
do { \
uint64_t _size = string_length(fmt) * 10; \
char *_string = memory_allocate(_size); \
_size = string_format(fmt, _size, _string, ##__VA_ARGS__); \
kernel_log->write(kernel_log, __func__, string_length(__func__)); \
kernel_log->write(kernel_log, ": ", 2); \
kernel_log->write(kernel_log, _string, _size); \
kernel_log->write(kernel_log, "\n", 1); \
memory_free(_string); \
} while (0)
#define LOG_LN(fmt, ...) PRINT_LN(kernel_log, fmt, ##__VA_ARGS__)
#define LOG_VAL(v) LOG_LN(#v "=%x")
#define LOG_VAL_F(v, f) LOG_LN(#v "=" f)
#define LOG_VAL_F(v, f) LOG_LN(#v "=" f, v)
#define TRACE_LN(fmt, ...)
#define TRACE_VAL(v) TRACE_LN(#v "=%lx")
#define TRACE_VAL_F(v, f) TRACE_LN(#v "=" f)
#define TRACE_VAL_F(v, f) TRACE_LN(#v "=" f, v)
void log_init(stream_t *log);