grub-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v2] sparc64: Add blocklist GPT support for SPARC


From: Daniel Kiper
Subject: Re: [PATCH v2] sparc64: Add blocklist GPT support for SPARC
Date: Mon, 9 Oct 2017 13:57:42 +0200
User-agent: Mutt/1.3.28i

On Fri, Oct 06, 2017 at 02:58:30PM -0600, Eric Snowberg wrote:
> > On Oct 6, 2017, at 8:04 AM, Daniel Kiper <address@hidden> 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 <address@hidden>
> >> ---
> >> 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...

> >>   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



reply via email to

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