1/* 2 * Copyright 2006, Haiku, Inc. All Rights Reserved. 3 * Distributed under the terms of the MIT License. 4 * 5 * Authors: 6 * Ingo Weinhold <bonefish@cs.tu-berlin.de> 7 * Axel D��rfler, axeld@pinc-software.de 8 */ 9 10 11#include <arch/platform.h> 12#include <apm.h> 13#include <boot_item.h> 14#include <boot/stage2.h> 15 16 17static phys_addr_t sACPIRootPointer = 0; 18 19 20status_t 21arch_platform_init(struct kernel_args *args) 22{ 23 return B_OK; 24} 25 26 27status_t 28arch_platform_init_post_vm(struct kernel_args *args) 29{ 30 // Now we can add boot items; pass on the ACPI root pointer 31 sACPIRootPointer = args->arch_args.acpi_root.Get(); 32 add_boot_item("ACPI_ROOT_POINTER", 33 &sACPIRootPointer, sizeof(sACPIRootPointer)); 34 35 return B_OK; 36} 37 38 39status_t 40arch_platform_init_post_thread(struct kernel_args *args) 41{ 42 // APM is not supported on x86_64. 43#ifndef __x86_64__ 44 apm_init(args); 45#endif 46 return B_OK; 47} 48 49