UEFI应用与编程--AcpiTable

AcpiTable.c

/*
 * AcpiTable.c
 *
 *  Created on: 2017年9月20日
 *      Author: 
 */

#include <Uefi.h>
#include <Library/UefiLib.h>
#include <IndustryStandard/Acpi10.h>
#include <Protocol/AcpiTable.h>
#include "UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.h"
#include <stdio.h>


EFI_STATUS
EFIAPI
UefiMain (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
  EFI_STATUS                                Status;
  EFI_ACPI_DESCRIPTION_HEADER               *AcpiHeader;
  VOID                                      *AcpiTable;
  EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER *RSDP;
  UINTN                                     EntryIndex;

  Print (L"-----------------------------------------------------\r\n");
  AcpiTable = NULL;
  Status = EfiGetSystemConfigurationTable (
             &gEfiAcpi20TableGuid,
             &AcpiTable
             );
  if (EFI_ERROR (Status)) {
    Status = EfiGetSystemConfigurationTable (
               &gEfiAcpi10TableGuid,
               &AcpiTable
               );
  }
  //
  // We do not ASSERT if AcpiTable not found. It is possbile that a platform does not produce AcpiTable.
  //
  if (AcpiTable == NULL) {
    Print(L"acpi table is not found.\r\n");
  }
  RSDP = (EFI_ACPI_6_0_ROOT_SYSTEM_DESCRIPTION_POINTER*)AcpiTable;
  Print(L"RSDP Address    :%08x\r\n", AcpiTable);
  Print(L"Signature       :");
  putchar(RSDP->Signature & 0x000000FF);
  putchar((RSDP->Signature & 0x0000FF00) / 16 /16);
  putchar((RSDP->Signature & 0x00FF0000) / 16 /16 / 16 /16);
  putchar((RSDP->Signature & 0xFF000000) / 16 /16 / 16 /16 / 16 /16);

  putchar((RSDP->Signature & 0x000000FF00000000) / 16 /16 / 16 /16 / 16 /16 / 16 /16);
  putchar
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值