[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/6] Dynamic allocation of memory regions and IBM vTPM v2

From: Stefan Berger
Subject: Re: [PATCH 0/6] Dynamic allocation of memory regions and IBM vTPM v2
Date: Thu, 1 Dec 2022 11:44:02 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.1

On 12/1/22 10:51, Daniel Kiper wrote:
On Thu, Dec 01, 2022 at 09:58:45AM -0500, Stefan Berger wrote:
On 12/1/22 09:47, Daniel Kiper wrote:
On Thu, Dec 01, 2022 at 09:22:42AM -0500, Stefan Berger wrote:
On 12/1/22 09:02, Daniel Kiper wrote:


./configure --target=i386 --with-platform=ieee1275 ...

I had to adjust the created symlist.h like this to make it compile at least:

//#include <../include/grub/machine/pxe.h>
//#include <../include/grub/machine/int.h>

Hmmm... Strange... It builds for me without any issues. I use latest
Debian testing, gcc version 12.2.0 (Debian 12.2.0-9). It builds with
gcc version 6.3.0 20170516 (Debian 6.3.0-18+deb9u1) too. What compiler
do you use?

$ cat /etc/debian_version
$ gcc --version
gcc (Debian 10.2.1-6) 10.2.1 20210110
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO

Hmmm... It should work...

Not typically using Debian but Debian 11.5 was the i386 iso I could find. Well, 
it works fine for i386-pc.

When trying to install this on my i386 VM I get this here:

sudo grub-install /dev/vda --target=i386-ieee1275
Installing for i386-ieee1275 platform.
grub-install: warning: cannot open directory `/usr/local/share/locale': No such 
file or directory.
grub-install: warning: unknown device type vda1.
grub-install: error: ofpathname: not found.

Would this type of target produce a grub version that works on a VM
that would otherwise work with i386-pc?


Well, not good...

And is this still a supported target?

What do you mean by "supported"? It is build tested and, AIUI, all "make check"
tests pass. Though I am not sure anybody uses this kinda weird target. Well,
I think I knew but I forgot... :-)

The problem is I don't know much about the target other than ieee1275
being OpenFirmare or so. So we (I) could easily break someone's
favorite target here ...

:-) I am happy you care about that. I think Glenn could tell you how to

The more esoteric the target the more ... worrisome ? :-)

run "make check" for i386-ieee1275 target. Glenn?

I just ran 'make check' (as user) for i386-pc on current master (and with the 
patches applied). The fallout was this:

FAIL: squashfs_test    [blkid missing]
FAIL: help_test        no particular helpful message
FAIL: grub_func_test   only this type of error: 
tests/video_checksum.c:checksum:615: assert failed: 0 Checksum 
cmdline_cat_2560x1440xrgba8888:44 failed: 0x62031fea vs 0x8071678a

Now on the same i386 machine with i386-ieee1275 (master): [after installing 
some more packages to be able to run the tests I can now build it fine]

FAIL: squashfs_test
FAIL: ahci_test
FAIL: grub_script_eval
FAIL: pata_test
FAIL: example_grub_script_test
FAIL: grub_script_leading_whitespace
FAIL: ehci_test
FAIL: ohci_test
FAIL: grub_script_test
FAIL: grub_script_echo1
FAIL: uhci_test
FAIL: grub_script_echo_keywords
FAIL: grub_script_vars1
FAIL: grub_script_for1
FAIL: grub_script_while1
FAIL: grub_script_if
FAIL: grub_script_comments
FAIL: grub_script_break
FAIL: grub_script_return
FAIL: grub_script_shift
FAIL: grub_cmd_regexp
FAIL: grub_script_functions
FAIL: grub_script_blockarg
FAIL: grub_script_continue
FAIL: grub_script_setparams
FAIL: grub_cmd_set_date
FAIL: grub_cmd_date
FAIL: grub_func_test
FAIL: grub_cmd_sleep
FAIL: grub_script_not
FAIL: hddboot_test
FAIL: fddboot_test
FAIL: xzcompress_test
FAIL: help_test
FAIL: test_unset
FAIL: grub_cmd_echo
FAIL: grub_script_gettext
FAIL: grub_script_escape_comma
FAIL: test_sha512sum
FAIL: grub_script_strcmp
FAIL: grub_cmd_tr
FAIL: file_filter_test
FAIL: gzcompress_test
FAIL: lzocompress_test

So I take this as the baseline for me now -- interpretation is: i386-ieee1275 
is borked.

And I think you can find some hints how to run "make check" in the
INSTALL file too...

I wished there was a line apt-get to install them all. Something like this 
seems a good base but still need qemu:

sudo apt install dosfstools gzip lzop xz-utils attr cpio g++ gawk parted recode 
tar util-linux btrfs-progs dosfstools e2fsprogs f2fs-tools genromfs hfsprogs 
jfsutils nilfs-tools ntfs-3g reiserfsprogs squashfs-tools reiserfsprogs 
udftools xfsprogs zfs-fuse exfat-fuse

The following function from this series would probably run on
i386-ieee1275 as well since these nodes are probably so fundamental to
OpenFirmware that there's no point in surrounding it with #ifdef
__powerpc__ ?

Yeah, I think you are right...

static grub_err_t
grub_ieee1275_total_mem (grub_uint64_t *total)
   grub_ieee1275_phandle_t root;
   grub_ieee1275_phandle_t memory;
   grub_uint32_t reg[4];
   grub_ssize_t reg_size;
   grub_uint32_t address_cells = 1;
   grub_uint32_t size_cells = 1;
   grub_uint64_t size;

   /* If we fail to get to the end, report 0. */
   *total = 0;

   /* Determine the format of each entry in `reg'.  */
   if (grub_ieee1275_finddevice ("/", &root))
     return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "couldn't find / node");
   if (grub_ieee1275_get_integer_property (root, "#address-cells", 
                                           sizeof (address_cells), 0))
     return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "couldn't examine 
   if (grub_ieee1275_get_integer_property (root, "#size-cells", &size_cells,
                                           sizeof (size_cells), 0))
     return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "couldn't examine 

I added the if's here just to be 'safe'.

This should be enough. Though please double check if other parts of the
code fail safely if grub_ieee1275_total_mem() returns an error.

In the end i386-ieee1275 shouldn't hold up progress on powerpc ieee1275...

Yeah, I concur...

Alright then let's proceed .



Grub-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]