You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ag...@apache.org on 2020/01/24 10:23:38 UTC

[incubator-nuttx] branch master updated: boards/x86: Fix qemu build break (#158)

This is an automated email from the ASF dual-hosted git repository.

aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git


The following commit(s) were added to refs/heads/master by this push:
     new 758934e  boards/x86: Fix qemu build break (#158)
758934e is described below

commit 758934e53d8f1df50378fbf0bd0667f438d8ab6d
Author: liuhaitao <li...@xiaomi.com>
AuthorDate: Fri Jan 24 11:16:26 2020 +0000

    boards/x86: Fix qemu build break (#158)
    
    * qemu-i486: Enable 32-bit system with a 64-bit machine config
    
    Change-Id: If2e7dd6f51b5732bcdfae2ac9784f58fab1f4abf
    Signed-off-by: liuhaitao <li...@xiaomi.com>
    
    * qemu-i486/nsh: Add board_app_initialize stub to fix boardctl build break
    
    Add board_app_initialize stub in qemu_appinit.c to fix boardctl undefined reference
    to board_app_initialize.
    
    Change-Id: I75318ae7ab152f018ce3682db417d1f0fb1a1652
    Signed-off-by: liuhaitao <li...@xiaomi.com>
---
 boards/x86/qemu/qemu-i486/configs/nsh/defconfig    |  1 +
 boards/x86/qemu/qemu-i486/configs/ostest/defconfig |  1 +
 boards/x86/qemu/qemu-i486/src/Makefile             |  4 ++
 boards/x86/qemu/qemu-i486/src/qemu_appinit.c       | 79 ++++++++++++++++++++++
 4 files changed, 85 insertions(+)

diff --git a/boards/x86/qemu/qemu-i486/configs/nsh/defconfig b/boards/x86/qemu/qemu-i486/configs/nsh/defconfig
index 98d8b24..b956fde 100644
--- a/boards/x86/qemu/qemu-i486/configs/nsh/defconfig
+++ b/boards/x86/qemu/qemu-i486/configs/nsh/defconfig
@@ -23,6 +23,7 @@ CONFIG_ARCH_CHIP="qemu"
 CONFIG_ARCH_CHIP_QEMU=y
 CONFIG_ARCH_STACKDUMP=y
 CONFIG_ARCH_X86=y
+CONFIG_ARCH_X86_M32=y
 CONFIG_BOARD_LOOPSPERMSEC=999
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_FS_FAT=y
diff --git a/boards/x86/qemu/qemu-i486/configs/ostest/defconfig b/boards/x86/qemu/qemu-i486/configs/ostest/defconfig
index f0353dc..ad0814b 100644
--- a/boards/x86/qemu/qemu-i486/configs/ostest/defconfig
+++ b/boards/x86/qemu/qemu-i486/configs/ostest/defconfig
@@ -12,6 +12,7 @@ CONFIG_ARCH_CHIP="qemu"
 CONFIG_ARCH_CHIP_QEMU=y
 CONFIG_ARCH_STACKDUMP=y
 CONFIG_ARCH_X86=y
+CONFIG_ARCH_X86_M32=y
 CONFIG_BOARD_LOOPSPERMSEC=999
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_DEV_LOWCONSOLE=y
diff --git a/boards/x86/qemu/qemu-i486/src/Makefile b/boards/x86/qemu/qemu-i486/src/Makefile
index f4c619b..3c40b8a 100644
--- a/boards/x86/qemu/qemu-i486/src/Makefile
+++ b/boards/x86/qemu/qemu-i486/src/Makefile
@@ -38,4 +38,8 @@
 ASRCS =
 CSRCS = qemu_boot.c
 
+ifeq ($(CONFIG_LIB_BOARDCTL),y)
+  CSRCS += qemu_appinit.c
+endif
+
 include $(TOPDIR)/boards/Board.mk
diff --git a/boards/x86/qemu/qemu-i486/src/qemu_appinit.c b/boards/x86/qemu/qemu-i486/src/qemu_appinit.c
new file mode 100644
index 0000000..c4622f6
--- /dev/null
+++ b/boards/x86/qemu/qemu-i486/src/qemu_appinit.c
@@ -0,0 +1,79 @@
+/****************************************************************************
+ * boards/x86/qemu/qemu-i486/src/qemu_appinit.c
+ *
+ *   Copyright (C) 2020 Gregory Nutt. All rights reserved.
+ *   Author:  Gregory Nutt <gn...@nuttx.org>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ * 3. Neither the name NuttX nor the names of its contributors may be
+ *    used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/board.h>
+
+#include "up_internal.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 cold 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_LIB_BOARDCTL
+int board_app_initialize(uintptr_t arg)
+{
+  return 0;
+}
+#endif /* CONFIG_LIB_BOARDCTL */