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-all mailing list