arch/x86_64: Initialize framebuffer early-print.

This commit initialized framebuffer early-print if `CONFIG_MULTBOOT2_FB_TERM` is defined. This enabled `early_kprintf` to output debug information using framebuffer.

Signed-off-by: ouyangxiangzhen <ouyangxiangzhen@xiaomi.com>
This commit is contained in:
ouyangxiangzhen 2025-02-13 14:15:03 +08:00 committed by Xiang Xiao
parent d7cea12af3
commit 0c9a239b9e
2 changed files with 18 additions and 8 deletions

View file

@ -85,17 +85,19 @@ void uart_putreg(struct u16550_s *priv, unsigned int offset,
*
****************************************************************************/
void up_lowputc(char ch)
void up_putc(int ch)
{
fb_putc(ch);
}
void up_putc(int ch)
{
up_lowputc(ch);
}
#endif
void up_lowputc(int ch)
{
#ifdef CONFIG_MULTBOOT2_FB_TERM
fb_putc(ch);
#endif
}
#ifdef USE_EARLYSERIALINIT
void x86_64_earlyserialinit(void)
{

View file

@ -33,6 +33,8 @@
#include <arch/acpi.h>
#include <debug.h>
#include "x86_64_internal.h"
#include "intel64_cpu.h"
@ -158,15 +160,21 @@ void __nxstart(void)
*dest++ = 0;
}
/* Low-level, pre-OS initialization */
intel64_lowsetup();
#ifdef CONFIG_ARCH_MULTIBOOT2
/* Handle multiboot2 info */
x86_64_mb2_config();
#endif
/* Low-level, pre-OS initialization */
#if defined(CONFIG_MULTBOOT2_FB_TERM)
x86_64_mb2_fbinitialize(g_mb_fb_tag);
intel64_lowsetup();
lowsyslog("framebuffer initialized\n");
#endif
#ifdef CONFIG_ARCH_X86_64_ACPI
/* Initialize ACPI */