efi/devices: Improve tracing, no functional change
Change-Id: Iefb4da99d148f9328a3bbfdf1bbeaec8cf97648a Reviewed-on: https://review.haiku-os.org/c/haiku/+/2993 Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
committed by
waddlesplash
parent
3853f36288
commit
b0f530bada
@@ -12,6 +12,14 @@
|
|||||||
#include <efi/protocol/block-io.h>
|
#include <efi/protocol/block-io.h>
|
||||||
|
|
||||||
|
|
||||||
|
//#define TRACE_DEVICES
|
||||||
|
#ifdef TRACE_DEVICES
|
||||||
|
# define TRACE(x...) dprintf("efi/devices: " x)
|
||||||
|
#else
|
||||||
|
# define TRACE(x...) ;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static efi_guid BlockIoGUID = EFI_BLOCK_IO_PROTOCOL_GUID;
|
static efi_guid BlockIoGUID = EFI_BLOCK_IO_PROTOCOL_GUID;
|
||||||
|
|
||||||
|
|
||||||
@@ -50,6 +58,9 @@ EfiDevice::~EfiDevice()
|
|||||||
ssize_t
|
ssize_t
|
||||||
EfiDevice::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize)
|
EfiDevice::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize)
|
||||||
{
|
{
|
||||||
|
TRACE("%s called. pos: %" B_PRIdOFF ", %p, %" B_PRIuSIZE "\n", __func__,
|
||||||
|
pos, buffer, bufferSize);
|
||||||
|
|
||||||
off_t offset = pos % BlockSize();
|
off_t offset = pos % BlockSize();
|
||||||
pos /= BlockSize();
|
pos /= BlockSize();
|
||||||
|
|
||||||
@@ -69,6 +80,8 @@ EfiDevice::ReadAt(void *cookie, off_t pos, void *buffer, size_t bufferSize)
|
|||||||
static off_t
|
static off_t
|
||||||
get_next_check_sum_offset(int32 index, off_t maxSize)
|
get_next_check_sum_offset(int32 index, off_t maxSize)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
|
|
||||||
if (index < 2)
|
if (index < 2)
|
||||||
return index * 512;
|
return index * 512;
|
||||||
|
|
||||||
@@ -82,6 +95,8 @@ get_next_check_sum_offset(int32 index, off_t maxSize)
|
|||||||
static uint32
|
static uint32
|
||||||
compute_check_sum(Node *device, off_t offset)
|
compute_check_sum(Node *device, off_t offset)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
|
|
||||||
char buffer[512];
|
char buffer[512];
|
||||||
ssize_t bytesRead = device->ReadAt(NULL, offset, buffer, sizeof(buffer));
|
ssize_t bytesRead = device->ReadAt(NULL, offset, buffer, sizeof(buffer));
|
||||||
if (bytesRead < B_OK)
|
if (bytesRead < B_OK)
|
||||||
@@ -103,6 +118,8 @@ compute_check_sum(Node *device, off_t offset)
|
|||||||
status_t
|
status_t
|
||||||
platform_add_boot_device(struct stage2_args *args, NodeList *devicesList)
|
platform_add_boot_device(struct stage2_args *args, NodeList *devicesList)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
|
|
||||||
efi_block_io_protocol *blockIo;
|
efi_block_io_protocol *blockIo;
|
||||||
size_t memSize = 0;
|
size_t memSize = 0;
|
||||||
|
|
||||||
@@ -127,6 +144,14 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList)
|
|||||||
(void**)&blockIo) != EFI_SUCCESS)
|
(void**)&blockIo) != EFI_SUCCESS)
|
||||||
panic("Cannot get block device handle!");
|
panic("Cannot get block device handle!");
|
||||||
|
|
||||||
|
TRACE("%s: %p: present: %s, logical: %s, removeable: %s, "
|
||||||
|
"blocksize: %" B_PRIuSIZE ", lastblock: %" B_PRIu64 "\n",
|
||||||
|
__func__, blockIo,
|
||||||
|
blockIo->Media->MediaPresent ? "true" : "false",
|
||||||
|
blockIo->Media->LogicalPartition ? "true" : "false",
|
||||||
|
blockIo->Media->RemovableMedia ? "true" : "false",
|
||||||
|
blockIo->Media->BlockSize, blockIo->Media->LastBlock);
|
||||||
|
|
||||||
if (!blockIo->Media->MediaPresent || blockIo->Media->LogicalPartition)
|
if (!blockIo->Media->MediaPresent || blockIo->Media->LogicalPartition)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
@@ -141,6 +166,8 @@ platform_add_boot_device(struct stage2_args *args, NodeList *devicesList)
|
|||||||
status_t
|
status_t
|
||||||
platform_add_block_devices(struct stage2_args *args, NodeList *devicesList)
|
platform_add_block_devices(struct stage2_args *args, NodeList *devicesList)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
|
|
||||||
//TODO: Currently we add all in platform_add_boot_device
|
//TODO: Currently we add all in platform_add_boot_device
|
||||||
return B_ENTRY_NOT_FOUND;
|
return B_ENTRY_NOT_FOUND;
|
||||||
}
|
}
|
||||||
@@ -149,6 +176,7 @@ status_t
|
|||||||
platform_get_boot_partition(struct stage2_args *args, Node *bootDevice,
|
platform_get_boot_partition(struct stage2_args *args, Node *bootDevice,
|
||||||
NodeList *partitions, boot::Partition **_partition)
|
NodeList *partitions, boot::Partition **_partition)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
*_partition = (boot::Partition*)partitions->GetIterator().Next();
|
*_partition = (boot::Partition*)partitions->GetIterator().Next();
|
||||||
return *_partition != NULL ? B_OK : B_ENTRY_NOT_FOUND;
|
return *_partition != NULL ? B_OK : B_ENTRY_NOT_FOUND;
|
||||||
}
|
}
|
||||||
@@ -157,6 +185,8 @@ platform_get_boot_partition(struct stage2_args *args, Node *bootDevice,
|
|||||||
status_t
|
status_t
|
||||||
platform_register_boot_device(Node *device)
|
platform_register_boot_device(Node *device)
|
||||||
{
|
{
|
||||||
|
TRACE("%s: called\n", __func__);
|
||||||
|
|
||||||
EfiDevice *efiDevice = (EfiDevice *)device;
|
EfiDevice *efiDevice = (EfiDevice *)device;
|
||||||
disk_identifier identifier;
|
disk_identifier identifier;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user