diff options
Diffstat (limited to 'src/core/dummy_sanboot.c')
-rw-r--r-- | src/core/dummy_sanboot.c | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/core/dummy_sanboot.c b/src/core/dummy_sanboot.c index 64d5206f..08180852 100644 --- a/src/core/dummy_sanboot.c +++ b/src/core/dummy_sanboot.c @@ -38,10 +38,11 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * @v drive Drive number * @v uris List of URIs * @v count Number of URIs + * @v flags Flags * @ret drive Drive number, or negative error */ static int dummy_san_hook ( unsigned int drive, struct uri **uris, - unsigned int count ) { + unsigned int count, unsigned int flags ) { struct san_device *sandev; int rc; @@ -51,10 +52,9 @@ static int dummy_san_hook ( unsigned int drive, struct uri **uris, rc = -ENOMEM; goto err_alloc; } - sandev->drive = drive; /* Register SAN device */ - if ( ( rc = register_sandev ( sandev ) ) != 0 ) { + if ( ( rc = register_sandev ( sandev, drive, flags ) ) != 0 ) { DBGC ( sandev, "SAN %#02x could not register: %s\n", sandev->drive, strerror ( rc ) ); goto err_register; @@ -102,15 +102,28 @@ static int dummy_san_boot ( unsigned int drive __unused ) { } /** - * Describe dummy SAN device + * Install ACPI table * - * @v drive Drive number + * @v acpi ACPI description header + * @ret rc Return status code */ -static int dummy_san_describe ( unsigned int drive __unused ) { +static int dummy_install ( struct acpi_header *acpi ) { + DBGC ( acpi, "ACPI table %s:\n", acpi_name ( acpi->signature ) ); + DBGC_HDA ( acpi, 0, acpi, le32_to_cpu ( acpi->length ) ); return 0; } +/** + * Describe dummy SAN device + * + * @ret rc Return status code + */ +static int dummy_san_describe ( void ) { + + return acpi_install ( dummy_install ); +} + PROVIDE_SANBOOT ( dummy, san_hook, dummy_san_hook ); PROVIDE_SANBOOT ( dummy, san_unhook, dummy_san_unhook ); PROVIDE_SANBOOT ( dummy, san_boot, dummy_san_boot ); |