From 1e8564c3e9356a31cb05cf3c772f5ee842161fea Mon Sep 17 00:00:00 2001 From: Matteo Golin Date: Wed, 18 Feb 2026 23:27:42 -0500 Subject: [PATCH] boards/x86: Replace board_app_initialize Replaced board_app_initialize logic with board_late_initialize. Signed-off-by: Matteo Golin --- boards/x86/qemu/qemu-i486/src/Makefile | 3 - boards/x86/qemu/qemu-i486/src/qemu_appinit.c | 102 ------------------- boards/x86/qemu/qemu-i486/src/qemu_boot.c | 34 +++++++ 3 files changed, 34 insertions(+), 105 deletions(-) delete mode 100644 boards/x86/qemu/qemu-i486/src/qemu_appinit.c diff --git a/boards/x86/qemu/qemu-i486/src/Makefile b/boards/x86/qemu/qemu-i486/src/Makefile index e8653b6a216..5a6c130d33e 100644 --- a/boards/x86/qemu/qemu-i486/src/Makefile +++ b/boards/x86/qemu/qemu-i486/src/Makefile @@ -24,9 +24,6 @@ include $(TOPDIR)/Make.defs CSRCS = qemu_boot.c -ifeq ($(CONFIG_BOARDCTL),y) - CSRCS += qemu_appinit.c -endif ifeq ($(CONFIG_QEMU_VGA),y) CSRCS += qemu_vga_lcd.c endif diff --git a/boards/x86/qemu/qemu-i486/src/qemu_appinit.c b/boards/x86/qemu/qemu-i486/src/qemu_appinit.c deleted file mode 100644 index 91997ccc8c4..00000000000 --- a/boards/x86/qemu/qemu-i486/src/qemu_appinit.c +++ /dev/null @@ -1,102 +0,0 @@ -/**************************************************************************** - * boards/x86/qemu/qemu-i486/src/qemu_appinit.c - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. The - * ASF licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - ****************************************************************************/ - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include -#include -#include - -#include -#include -#include - -#include "x86_internal.h" -#include "qemu_vga.h" - -/**************************************************************************** - * Public Functions - ****************************************************************************/ - -/**************************************************************************** - * Name: board_app_initialize - * - * Description: - * Perform application specific initialization. This function is never - * called directly from application code, but only indirectly via the - * (non-standard) boardctl() interface using the command BOARDIOC_INIT. - * - * Input Parameters: - * arg - The boardctl() argument is passed to the board_app_initialize() - * implementation without modification. The argument has no - * meaning to NuttX; the meaning of the argument is a contract - * between the board-specific initialization logic and the - * matching application logic. The value could be such things as a - * mode enumeration value, a set of DIP switch switch settings, a - * pointer to configuration data read from a file or serial FLASH, - * or whatever you would like to do with it. Every implementation - * should accept zero/NULL as a default configuration. - * - * Returned Value: - * Zero (OK) is returned on success; a negated errno value is returned on - * any failure to indicate the nature of the failure. - * - ****************************************************************************/ - -#ifdef CONFIG_BOARDCTL -int board_app_initialize(uintptr_t arg) -{ - int ret = OK; - -#ifdef CONFIG_FS_PROCFS - /* Mount the proc filesystem */ - - ret = nx_mount(NULL, "/proc", "procfs", 0, NULL); - if (ret < 0) - { - serr("ERROR: Failed to mount procfs at %s: %d\n", "/proc", ret); - } -#endif - -#ifdef CONFIG_QEMU_VGA - ret = qemu_vga(); - if (ret < 0) - { - serr("ERROR: Failed to initialize QEMU VGA: %d\n", ret); - } -#endif - -#ifdef CONFIG_VIDEO_FB - /* Initialize and register the framebuffer driver */ - - ret = fb_register(0, 0); - if (ret < 0) - { - serr("ERROR: fb_register() failed: %d\n", ret); - } -#endif - - return ret; -} -#endif /* CONFIG_BOARDCTL */ diff --git a/boards/x86/qemu/qemu-i486/src/qemu_boot.c b/boards/x86/qemu/qemu-i486/src/qemu_boot.c index 6fc224ab957..381dcf8a984 100644 --- a/boards/x86/qemu/qemu-i486/src/qemu_boot.c +++ b/boards/x86/qemu/qemu-i486/src/qemu_boot.c @@ -28,6 +28,10 @@ #include +#include +#include + +#include #include #include @@ -66,3 +70,33 @@ void x86_boardinitialize(void) board_autoled_initialize(); #endif } + +/**************************************************************************** + * Name: board_late_initialize + * + * Description: + * If CONFIG_BOARD_LATE_INITIALIZE is selected, then an additional + * initialization call will be performed in the boot-up sequence to a + * function called board_late_initialize(). board_late_initialize() will be + * called immediately after up_initialize() is called and just before the + * initial application is started. This additional initialization phase + * may be used, for example, to initialize board-specific device drivers. + * + ****************************************************************************/ + +#ifdef CONFIG_BOARD_LATE_INITIALIZE +void board_late_initialize(void) +{ +#ifdef CONFIG_FS_PROCFS + int ret = OK; + + /* Mount the proc filesystem */ + + ret = nx_mount(NULL, "/proc", "procfs", 0, NULL); + if (ret < 0) + { + serr("ERROR: Failed to mount procfs at %s: %d\n", "/proc", ret); + } +#endif +} +#endif /* CONFIG_BOARD_LATE_INITIALIZE */