aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2023-05-05 12:46:54 +0100
committerMichael Brown <mcb30@ipxe.org>2023-05-05 12:49:22 +0100
commitb635696253c4337dd6ece21ba2e65eb449518356 (patch)
tree4b5fdbffd9662029b291743d6ca51a4b85b26c9c
parent93f2643c794e50a7bf917dc8e64e432bc83d3db9 (diff)
downloadipxe-b635696253c4337dd6ece21ba2e65eb449518356.zip
ipxe-b635696253c4337dd6ece21ba2e65eb449518356.tar.gz
ipxe-b635696253c4337dd6ece21ba2e65eb449518356.tar.bz2
[efi] Show original filenames in debug messages
Show the original filename as used by the consumer when calling our EFI_SIMPLE_FILE_SYSTEM_PROTOCOL's Open() method. Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/interface/efi/efi_file.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/interface/efi/efi_file.c b/src/interface/efi/efi_file.c
index 56da190..673f902 100644
--- a/src/interface/efi/efi_file.c
+++ b/src/interface/efi/efi_file.c
@@ -295,10 +295,12 @@ static size_t efi_file_read_initrd ( struct efi_file_reader *reader ) {
* Open fixed file
*
* @v file EFI file
+ * @v wname Filename
* @v new New EFI file
* @ret efirc EFI status code
*/
static EFI_STATUS efi_file_open_fixed ( struct efi_file *file,
+ const wchar_t *wname,
EFI_FILE_PROTOCOL **new ) {
/* Increment reference count */
@@ -307,7 +309,8 @@ static EFI_STATUS efi_file_open_fixed ( struct efi_file *file,
/* Return opened file */
*new = &file->file;
- DBGC ( file, "EFIFILE %s opened\n", efi_file_name ( file ) );
+ DBGC ( file, "EFIFILE %s opened via %ls\n",
+ efi_file_name ( file ), wname );
return 0;
}
@@ -328,10 +331,12 @@ static void efi_file_image ( struct efi_file *file, struct image *image ) {
* Open image-backed file
*
* @v image Image
+ * @v wname Filename
* @v new New EFI file
* @ret efirc EFI status code
*/
static EFI_STATUS efi_file_open_image ( struct image *image,
+ const wchar_t *wname,
EFI_FILE_PROTOCOL **new ) {
struct efi_file *file;
@@ -347,7 +352,8 @@ static EFI_STATUS efi_file_open_image ( struct image *image,
/* Return opened file */
*new = &file->file;
- DBGC ( file, "EFIFILE %s opened\n", efi_file_name ( file ) );
+ DBGC ( file, "EFIFILE %s opened via %ls\n",
+ efi_file_name ( file ), wname );
return 0;
}
@@ -381,7 +387,7 @@ efi_file_open ( EFI_FILE_PROTOCOL *this, EFI_FILE_PROTOCOL **new,
/* Allow root directory itself to be opened */
if ( ( name[0] == '\0' ) || ( name[0] == '.' ) )
- return efi_file_open_fixed ( &efi_file_root, new );
+ return efi_file_open_fixed ( &efi_file_root, wname, new );
/* Fail unless opening from the root */
if ( file != &efi_file_root ) {
@@ -399,13 +405,15 @@ efi_file_open ( EFI_FILE_PROTOCOL *this, EFI_FILE_PROTOCOL **new,
/* Allow registered images to be opened */
if ( ( image = efi_file_find ( name ) ) != NULL )
- return efi_file_open_image ( image, new );
+ return efi_file_open_image ( image, wname, new );
/* Allow magic initrd to be opened */
- if ( strcasecmp ( name, efi_file_initrd.file.name ) == 0 )
- return efi_file_open_fixed ( &efi_file_initrd.file, new );
+ if ( strcasecmp ( name, efi_file_initrd.file.name ) == 0 ) {
+ return efi_file_open_fixed ( &efi_file_initrd.file, wname,
+ new );
+ }
- DBGC ( file, "EFIFILE %s does not exist\n", name );
+ DBGC ( file, "EFIFILE %ls does not exist\n", wname );
return EFI_NOT_FOUND;
}
@@ -844,7 +852,7 @@ efi_file_open_volume ( EFI_SIMPLE_FILE_SYSTEM_PROTOCOL *filesystem __unused,
EFI_FILE_PROTOCOL **file ) {
DBGC ( &efi_file_root, "EFIFILE open volume\n" );
- return efi_file_open_fixed ( &efi_file_root, file );
+ return efi_file_open_fixed ( &efi_file_root, L"<volume>", file );
}
/** EFI simple file system protocol */