diff mbox

[3/3] uefidump: add dumping for the ramdisk device path

Message ID 1449133364-22794-4-git-send-email-ivan.hu@canonical.com
State Accepted
Headers show

Commit Message

Ivan Hu Dec. 3, 2015, 9:02 a.m. UTC
Add dumping with uefi spec. 2.5 for new media device path, Ramdisk device path

Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
---
 src/uefi/uefidump/uefidump.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

Comments

Colin Ian King Dec. 3, 2015, 12:28 p.m. UTC | #1
On 03/12/15 09:02, Ivan Hu wrote:
> Add dumping with uefi spec. 2.5 for new media device path, Ramdisk device path
> 
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  src/uefi/uefidump/uefidump.c | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
> index dc4fa0f..00e1e00 100644
> --- a/src/uefi/uefidump/uefidump.c
> +++ b/src/uefi/uefidump/uefidump.c
> @@ -631,6 +631,23 @@ static char *uefidump_build_dev_path(char *path, fwts_uefi_dev_path *dev_path, c
>  					r->starting_offset, r->ending_offset);
>  			}
>  			break;
> +		case FWTS_UEFI_RAM_DISK_SUBTYPE:
> +			if (dev_path_len >= sizeof(fwts_ram_disk_path)) {
> +				fwts_ram_disk_path *r = (fwts_ram_disk_path *)dev_path;
> +				path = uefidump_vprintf(path, "\\RAMDISK("
> +					"0x%" PRIx64 ",0x%" PRIx64
> +					"%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 "-"
> +					"%02" PRIx8 "-%02" PRIx8 "-"
> +					"%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8
> +					",0x%" PRIx16 ")",
> +					r->starting_addr, r->ending_addr, 
> +					r->disk_type_guid.info1, r->disk_type_guid.info2, r->disk_type_guid.info3,
> +					r->disk_type_guid.info4[0], r->disk_type_guid.info4[1], r->disk_type_guid.info4[2],
> +					r->disk_type_guid.info4[3], r->disk_type_guid.info4[4], r->disk_type_guid.info4[5],
> +					r->disk_type_guid.info4[6], r->disk_type_guid.info4[7],
> +					r->disk_instance);
> +			}
> +			break;
>  		default:
>  			path = uefidump_vprintf(path, "\\Unknown-MEDIA-DEV-PATH(0x%" PRIx8 ")", dev_path->subtype);
>  			break;
> 
Acked-by: Colin Ian King <colin.king@canonical.com>
Alex Hung Dec. 9, 2015, 2:33 a.m. UTC | #2
On 12/03/2015 05:02 PM, Ivan Hu wrote:
> Add dumping with uefi spec. 2.5 for new media device path, Ramdisk device path
>
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>   src/uefi/uefidump/uefidump.c | 17 +++++++++++++++++
>   1 file changed, 17 insertions(+)
>
> diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
> index dc4fa0f..00e1e00 100644
> --- a/src/uefi/uefidump/uefidump.c
> +++ b/src/uefi/uefidump/uefidump.c
> @@ -631,6 +631,23 @@ static char *uefidump_build_dev_path(char *path, fwts_uefi_dev_path *dev_path, c
>   					r->starting_offset, r->ending_offset);
>   			}
>   			break;
> +		case FWTS_UEFI_RAM_DISK_SUBTYPE:
> +			if (dev_path_len >= sizeof(fwts_ram_disk_path)) {
> +				fwts_ram_disk_path *r = (fwts_ram_disk_path *)dev_path;
> +				path = uefidump_vprintf(path, "\\RAMDISK("
> +					"0x%" PRIx64 ",0x%" PRIx64
> +					"%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 "-"
> +					"%02" PRIx8 "-%02" PRIx8 "-"
> +					"%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8
> +					",0x%" PRIx16 ")",
> +					r->starting_addr, r->ending_addr,
> +					r->disk_type_guid.info1, r->disk_type_guid.info2, r->disk_type_guid.info3,
> +					r->disk_type_guid.info4[0], r->disk_type_guid.info4[1], r->disk_type_guid.info4[2],
> +					r->disk_type_guid.info4[3], r->disk_type_guid.info4[4], r->disk_type_guid.info4[5],
> +					r->disk_type_guid.info4[6], r->disk_type_guid.info4[7],
> +					r->disk_instance);
> +			}
> +			break;
>   		default:
>   			path = uefidump_vprintf(path, "\\Unknown-MEDIA-DEV-PATH(0x%" PRIx8 ")", dev_path->subtype);
>   			break;
>


Acked-by: Alex Hung <alex.hung@canonical.com>
diff mbox

Patch

diff --git a/src/uefi/uefidump/uefidump.c b/src/uefi/uefidump/uefidump.c
index dc4fa0f..00e1e00 100644
--- a/src/uefi/uefidump/uefidump.c
+++ b/src/uefi/uefidump/uefidump.c
@@ -631,6 +631,23 @@  static char *uefidump_build_dev_path(char *path, fwts_uefi_dev_path *dev_path, c
 					r->starting_offset, r->ending_offset);
 			}
 			break;
+		case FWTS_UEFI_RAM_DISK_SUBTYPE:
+			if (dev_path_len >= sizeof(fwts_ram_disk_path)) {
+				fwts_ram_disk_path *r = (fwts_ram_disk_path *)dev_path;
+				path = uefidump_vprintf(path, "\\RAMDISK("
+					"0x%" PRIx64 ",0x%" PRIx64
+					"%08" PRIx32 "-%04" PRIx16 "-%04" PRIx16 "-"
+					"%02" PRIx8 "-%02" PRIx8 "-"
+					"%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8 "-%02" PRIx8
+					",0x%" PRIx16 ")",
+					r->starting_addr, r->ending_addr, 
+					r->disk_type_guid.info1, r->disk_type_guid.info2, r->disk_type_guid.info3,
+					r->disk_type_guid.info4[0], r->disk_type_guid.info4[1], r->disk_type_guid.info4[2],
+					r->disk_type_guid.info4[3], r->disk_type_guid.info4[4], r->disk_type_guid.info4[5],
+					r->disk_type_guid.info4[6], r->disk_type_guid.info4[7],
+					r->disk_instance);
+			}
+			break;
 		default:
 			path = uefidump_vprintf(path, "\\Unknown-MEDIA-DEV-PATH(0x%" PRIx8 ")", dev_path->subtype);
 			break;