OsdEnvironment.c revision 84447
184447Sdfr/*- 284447Sdfr * Copyright (c) 2000,2001 Michael Smith 384447Sdfr * Copyright (c) 2000 BSDi 484447Sdfr * All rights reserved. 584447Sdfr * 684447Sdfr * Redistribution and use in source and binary forms, with or without 784447Sdfr * modification, are permitted provided that the following conditions 884447Sdfr * are met: 984447Sdfr * 1. Redistributions of source code must retain the above copyright 1084447Sdfr * notice, this list of conditions and the following disclaimer. 1184447Sdfr * 2. Redistributions in binary form must reproduce the above copyright 1284447Sdfr * notice, this list of conditions and the following disclaimer in the 1384447Sdfr * documentation and/or other materials provided with the distribution. 1484447Sdfr * 1584447Sdfr * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 1684447Sdfr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 1784447Sdfr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 1884447Sdfr * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 1984447Sdfr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2084447Sdfr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2184447Sdfr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2284447Sdfr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2384447Sdfr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2484447Sdfr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 2584447Sdfr * SUCH DAMAGE. 2684447Sdfr * 2784447Sdfr * $FreeBSD: head/sys/ia64/acpica/OsdEnvironment.c 84447 2001-10-04 08:45:19Z dfr $ 2884447Sdfr */ 2984447Sdfr 3084447Sdfr/* 3184447Sdfr * 6.1 : Environmental support 3284447Sdfr */ 3384447Sdfr 3484447Sdfr#include "acpi.h" 3584447Sdfr 3684447Sdfrextern u_int64_t ia64_efi_acpi_table; 3784447Sdfrextern u_int64_t ia64_efi_acpi20_table; 3884447Sdfr 3984447SdfrACPI_STATUS 4084447SdfrAcpiOsInitialize(void) 4184447Sdfr{ 4284447Sdfr 4384447Sdfr return(NULL); 4484447Sdfr} 4584447Sdfr 4684447SdfrACPI_STATUS 4784447SdfrAcpiOsTerminate(void) 4884447Sdfr{ 4984447Sdfr 5084447Sdfr return(NULL); 5184447Sdfr} 5284447Sdfr 5384447SdfrACPI_STATUS 5484447SdfrAcpiOsGetRootPointer( 5584447Sdfr UINT32 Flags, 5684447Sdfr ACPI_PHYSICAL_ADDRESS *RsdpPhysicalAddress) 5784447Sdfr{ 5884447Sdfr RSDP_DESCRIPTOR *rsdp; 5984447Sdfr XSDT_DESCRIPTOR *xsdt; 6084447Sdfr 6184447Sdfr if (ia64_efi_acpi20_table) { 6284447Sdfr *RsdpPhysicalAddress = ia64_efi_acpi20_table; 6384447Sdfr rsdp = (RSDP_DESCRIPTOR *) 6484447Sdfr IA64_PHYS_TO_RR7(ia64_efi_acpi20_table); 6584447Sdfr xsdt = (XSDT_DESCRIPTOR *) 6684447Sdfr IA64_PHYS_TO_RR7(rsdp->XsdtPhysicalAddress); 6784447Sdfr ia64_parse_xsdt(xsdt); 6884447Sdfr return(AE_OK); 6984447Sdfr } else if (ia64_efi_acpi_table) { 7084447Sdfr *RsdpPhysicalAddress = ia64_efi_acpi_table; 7184447Sdfr return(AE_OK); 7284447Sdfr } 7384447Sdfr 7484447Sdfr return(AE_NOT_FOUND); 7584447Sdfr} 76