svn commit: r215024 - in head/sys: amd64/acpica conf i386/acpica
x86/acpica
Jung-uk Kim
jkim at FreeBSD.org
Tue Nov 9 00:27:18 UTC 2010
Author: jkim
Date: Tue Nov 9 00:27:18 2010
New Revision: 215024
URL: http://svn.freebsd.org/changeset/base/215024
Log:
Now OsdEnvironment.c is identical on amd64 and i386. Move it to a new home.
Added:
head/sys/x86/acpica/OsdEnvironment.c
- copied unchanged from r215023, head/sys/amd64/acpica/OsdEnvironment.c
Deleted:
head/sys/amd64/acpica/OsdEnvironment.c
head/sys/i386/acpica/OsdEnvironment.c
Modified:
head/sys/conf/files.amd64
head/sys/conf/files.i386
Modified: head/sys/conf/files.amd64
==============================================================================
--- head/sys/conf/files.amd64 Tue Nov 9 00:14:39 2010 (r215023)
+++ head/sys/conf/files.amd64 Tue Nov 9 00:27:18 2010 (r215024)
@@ -67,7 +67,6 @@ hptrr_lib.o optional hptrr \
compile-with "uudecode < $S/dev/hptrr/amd64-elf.hptrr_lib.o.uu" \
no-implicit-rule
#
-amd64/acpica/OsdEnvironment.c optional acpi
amd64/acpica/acpi_machdep.c optional acpi
amd64/acpica/acpi_switch.S optional acpi
acpi_wakecode.o optional acpi \
@@ -300,6 +299,7 @@ contrib/x86emu/x86emu.c optional x86bio
#
# x86 shared code between IA32, AMD64 and PC98 architectures
#
+x86/acpica/OsdEnvironment.c optional acpi
x86/acpica/madt.c optional acpi
x86/acpica/srat.c optional acpi
x86/bios/smbios.c optional smbios
Modified: head/sys/conf/files.i386
==============================================================================
--- head/sys/conf/files.i386 Tue Nov 9 00:14:39 2010 (r215023)
+++ head/sys/conf/files.i386 Tue Nov 9 00:27:18 2010 (r215024)
@@ -238,7 +238,6 @@ dev/uart/uart_cpu_i386.c optional uart
dev/acpica/acpi_if.m standard
dev/acpi_support/acpi_wmi_if.m standard
dev/wpi/if_wpi.c optional wpi
-i386/acpica/OsdEnvironment.c optional acpi
i386/acpica/acpi_machdep.c optional acpi
i386/acpica/acpi_wakeup.c optional acpi
acpi_wakecode.h optional acpi \
@@ -373,6 +372,7 @@ compat/x86bios/x86bios.c optional x86bio
#
# x86 shared code between IA32, AMD64 and PC98 architectures
#
+x86/acpica/OsdEnvironment.c optional acpi
x86/acpica/madt.c optional acpi apic
x86/acpica/srat.c optional acpi
x86/bios/smbios.c optional smbios
Copied: head/sys/x86/acpica/OsdEnvironment.c (from r215023, head/sys/amd64/acpica/OsdEnvironment.c)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/x86/acpica/OsdEnvironment.c Tue Nov 9 00:27:18 2010 (r215024, copy of r215023, head/sys/amd64/acpica/OsdEnvironment.c)
@@ -0,0 +1,91 @@
+/*-
+ * Copyright (c) 2000,2001 Michael Smith
+ * Copyright (c) 2000 BSDi
+ * All rights reserved.
+ *
+ * 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.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/types.h>
+#include <sys/bus.h>
+#include <sys/linker_set.h>
+#include <sys/sysctl.h>
+
+#include <contrib/dev/acpica/include/acpi.h>
+#include <contrib/dev/acpica/include/actables.h>
+
+static u_long acpi_root_phys;
+
+SYSCTL_ULONG(_machdep, OID_AUTO, acpi_root, CTLFLAG_RD, &acpi_root_phys, 0,
+ "The physical address of the RSDP");
+
+ACPI_STATUS
+AcpiOsInitialize(void)
+{
+
+ return (AE_OK);
+}
+
+ACPI_STATUS
+AcpiOsTerminate(void)
+{
+
+ return (AE_OK);
+}
+
+static u_long
+acpi_get_root_from_loader(void)
+{
+ long acpi_root;
+
+ if (resource_long_value("acpi", 0, "rsdp", &acpi_root) == 0)
+ return (acpi_root);
+
+ return (0);
+}
+
+static u_long
+acpi_get_root_from_memory(void)
+{
+ ACPI_SIZE acpi_root;
+
+ if (ACPI_SUCCESS(AcpiFindRootPointer(&acpi_root)))
+ return (acpi_root);
+
+ return (0);
+}
+
+ACPI_PHYSICAL_ADDRESS
+AcpiOsGetRootPointer(void)
+{
+
+ if (acpi_root_phys == 0) {
+ acpi_root_phys = acpi_get_root_from_loader();
+ if (acpi_root_phys == 0)
+ acpi_root_phys = acpi_get_root_from_memory();
+ }
+
+ return (acpi_root_phys);
+}
More information about the svn-src-head
mailing list