From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Liav A <liavalb@gmail.com>
Date: Fri, 21 Jul 2023 10:20:46 +0300
Subject: [PATCH] Add minerva definitions for LibC includes

We use the netbsd "acnetbsd.h" file here as a template.
---
 source/include/platform/acenv.h      |  3 ++
 source/include/platform/acminerva.h | 70 ++++++++++++++++++++++++++++
 2 files changed, 73 insertions(+)
 create mode 100644 source/include/platform/acminerva.h

diff --git a/source/include/platform/acenv.h b/source/include/platform/acenv.h
index 1fc692db80309b254aea69f42cf4de39b08b7cc8..5db1ea09a5f6c9748af3ba51eed2c2f30126bfc5 100644
--- a/source/include/platform/acenv.h
+++ b/source/include/platform/acenv.h
@@ -320,6 +320,9 @@
 #elif defined(__NetBSD__)
 #include "acnetbsd.h"
 
+#elif defined(__minerva__)
+#include "acminerva.h"
+
 #elif defined(__sun)
 #include "acsolaris.h"
 
diff --git a/source/include/platform/acminerva.h b/source/include/platform/acminerva.h
new file mode 100644
index 0000000000000000000000000000000000000000..e17f097c5d6d9c0ac228ae7958f31acbb609c8e0
--- /dev/null
+++ b/source/include/platform/acminerva.h
@@ -0,0 +1,70 @@
+#ifndef __ACMINERVA_H__
+#define __ACMINERVA_H__
+
+#define ACPI_UINTPTR_T          uintptr_t
+#define ACPI_USE_LOCAL_CACHE
+#define ACPI_CAST_PTHREAD_T(x)  ((ACPI_THREAD_ID) ACPI_TO_INTEGER (x))
+
+#ifdef _LP64
+#define ACPI_MACHINE_WIDTH      64
+#else
+#define ACPI_MACHINE_WIDTH      32
+#endif
+
+#define COMPILER_DEPENDENT_INT64  int64_t
+#define COMPILER_DEPENDENT_UINT64 uint64_t
+
+#if defined(_KERNEL) || defined(_STANDALONE)
+#ifdef _KERNEL_OPT
+#include "opt_acpi.h"           /* collect build-time options here */
+#endif /* _KERNEL_OPT */
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <machine/stdarg.h>
+#include <machine/acpi_func.h>
+
+#define asm         __asm
+
+#define ACPI_USE_NATIVE_DIVIDE
+#define ACPI_USE_NATIVE_MATH64
+
+#define ACPI_SYSTEM_XFACE
+#define ACPI_EXTERNAL_XFACE
+#define ACPI_INTERNAL_XFACE
+#define ACPI_INTERNAL_VAR_XFACE
+
+#ifdef ACPI_DEBUG
+#define ACPI_DEBUG_OUTPUT
+#define ACPI_DBG_TRACK_ALLOCATIONS
+#ifdef DEBUGGER_THREADING
+#undef DEBUGGER_THREADING
+#endif /* DEBUGGER_THREADING */
+#define DEBUGGER_THREADING 0    /* integrated with DDB */
+#include "opt_ddb.h"
+#ifdef DDB
+#define ACPI_DISASSEMBLER
+#define ACPI_DEBUGGER
+#endif /* DDB */
+#endif /* ACPI_DEBUG */
+
+#else /* defined(_KERNEL) || defined(_STANDALONE) */
+
+#include <ctype.h>
+#include <stdint.h>
+
+/* Not building kernel code, so use libc */
+#define ACPI_USE_STANDARD_HEADERS
+
+#define __cli()
+#define __sti()
+#define __cdecl
+
+#endif /* defined(_KERNEL) || defined(_STANDALONE) */
+
+/* Always use NetBSD code over our local versions */
+#define ACPI_USE_SYSTEM_CLIBRARY
+#define ACPI_USE_NATIVE_DIVIDE
+#define ACPI_USE_NATIVE_MATH64
+
+#endif /* __ACMINERVA_H__ */
