> On Oct 9, 2017, at 5:57 AM, Daniel Kiper <dki...@net-space.pl> wrote: > > On Fri, Oct 06, 2017 at 02:58:30PM -0600, Eric Snowberg wrote: >>> On Oct 6, 2017, at 8:04 AM, Daniel Kiper <dki...@net-space.pl> wrote: >>> On Thu, May 11, 2017 at 06:25:24PM -0700, Eric Snowberg wrote: >>>> Add block-list GPT support for SPARC. The OBP "load" and "boot" methods >>>> are partition aware and neither command can see the partition table. Also >>>> neither command can address the entire physical disk. When the install >>>> happens, grub generates the block-list entries based on the beginning of >>>> the >>>> physical disk, not the beginning of the parition. This patch fixes the >>>> block-list entries so they match what OBP expects during boot for a GPT >>>> disk. >>>> >>>> T5 and above now supports GPT as well as VTOC. >>>> >>>> This patch has been tested on T5-2 and newer SPARC systems. >>>> >>>> Signed-off-by: Eric Snowberg <eric.snowb...@oracle.com> >>>> --- >>>> Changes in v2: >>>> Do all GPT offset calculations in setup >>>> --- >>>> util/setup.c | 26 +++++++++++++++++++++++--- >>>> 1 files changed, 23 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/util/setup.c b/util/setup.c >>>> index 8aa5a39..8036307 100644 >>>> --- a/util/setup.c >>>> +++ b/util/setup.c >>>> @@ -138,6 +138,9 @@ struct blocklists >>>> #ifdef GRUB_SETUP_BIOS >>>> grub_uint16_t current_segment; >>>> #endif >>>> +#ifdef GRUB_SETUP_SPARC64 >>>> + grub_uint64_t gpt_offset; >>>> +#endif >>> >>> This does not seem to be used below??? >> >> After looking into this further, I don???t see a problem... > > Sorry, it is a problem. It declares the gpt_offset variable hereā¦
No, it is not declaring a variable here. It is adding a member to a structure, the same way x86 does with current_segment. > >>>> grub_uint16_t last_length; >>>> grub_disk_addr_t first_sector; >>>> }; >>>> @@ -151,6 +154,10 @@ save_blocklists (grub_disk_addr_t sector, unsigned >>>> offset, unsigned length, >>>> struct grub_boot_blocklist *prev = bl->block + 1; >>>> grub_uint64_t seclen; >>>> >>>> +#ifdef GRUB_SETUP_SPARC64 >>>> + sector -= bl->gpt_offset; >> >> It is used here > > ...and you reference here and below struct member using the same name. > So, it is different thing. Hence, we do not need declaration above. > > Daniel > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > https://lists.gnu.org/mailman/listinfo/grub-devel _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel