Message ID | 52C0B576.6060102@caramail.com |
---|---|
State | New |
Headers | show |
On Mon, Dec 30, 2013 at 12:51 AM, Olivier Danet <odanet@caramail.com> wrote: > On SparcStations, the HostID field in the NVRAM is equal to the > last three bytes of the MAC address (which is also stored in the NVRAM). > > This constant is used as an identification/serial number on Solaris. > > signed-off-by : Olivier Danet <odanet@caramail.com> Corresponds with http://www.squirrel.com/squirrel/sun-nvram-hostid.faq and Solaris 9 detects the hostid after this patch fine, so Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> > --- > include/hw/nvram/openbios_firmware_abi.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/hw/nvram/openbios_firmware_abi.h > b/include/hw/nvram/openbios_firmware_abi.h > index 5e6e5d4..492c8d5 100644 > --- a/include/hw/nvram/openbios_firmware_abi.h > +++ b/include/hw/nvram/openbios_firmware_abi.h > @@ -62,6 +62,8 @@ Sun_init_header(struct Sun_nvram *header, const uint8_t > *macaddr, int machine_id > header->type = 1; > header->machine_id = machine_id & 0xff; > memcpy(&header->macaddr, macaddr, 6); > + memcpy(&header->hostid , &macaddr[3],3); > + > /* Calculate checksum */ > tmp = 0; > tmpptr = (uint8_t *)header; > -- > 1.8.1.5
Ping. Repost ! On 30/12/2013 15:02, Artyom Tarasenko wrote: > On Mon, Dec 30, 2013 at 12:51 AM, Olivier Danet <odanet@caramail.com> wrote: >> On SparcStations, the HostID field in the NVRAM is equal to the >> last three bytes of the MAC address (which is also stored in the NVRAM). >> >> This constant is used as an identification/serial number on Solaris. >> >> signed-off-by : Olivier Danet <odanet@caramail.com> > Corresponds with http://www.squirrel.com/squirrel/sun-nvram-hostid.faq > and Solaris 9 detects the hostid after this patch fine, so > > Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> > >> --- >> include/hw/nvram/openbios_firmware_abi.h | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/include/hw/nvram/openbios_firmware_abi.h >> b/include/hw/nvram/openbios_firmware_abi.h >> index 5e6e5d4..492c8d5 100644 >> --- a/include/hw/nvram/openbios_firmware_abi.h >> +++ b/include/hw/nvram/openbios_firmware_abi.h >> @@ -62,6 +62,8 @@ Sun_init_header(struct Sun_nvram *header, const uint8_t >> *macaddr, int machine_id >> header->type = 1; >> header->machine_id = machine_id & 0xff; >> memcpy(&header->macaddr, macaddr, 6); >> + memcpy(&header->hostid , &macaddr[3],3); >> + >> /* Calculate checksum */ >> tmp = 0; >> tmpptr = (uint8_t *)header; >> -- >> 1.8.1.5 > >
On 29/12/13 23:51, Olivier Danet wrote: > On SparcStations, the HostID field in the NVRAM is equal to the > last three bytes of the MAC address (which is also stored in the NVRAM). > > This constant is used as an identification/serial number on Solaris. > > signed-off-by : Olivier Danet <odanet@caramail.com> > --- > include/hw/nvram/openbios_firmware_abi.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/hw/nvram/openbios_firmware_abi.h > b/include/hw/nvram/openbios_firmware_abi.h > index 5e6e5d4..492c8d5 100644 > --- a/include/hw/nvram/openbios_firmware_abi.h > +++ b/include/hw/nvram/openbios_firmware_abi.h > @@ -62,6 +62,8 @@ Sun_init_header(struct Sun_nvram *header, const > uint8_t *macaddr, int machine_id > header->type = 1; > header->machine_id = machine_id & 0xff; > memcpy(&header->macaddr, macaddr, 6); > + memcpy(&header->hostid , &macaddr[3],3); I think there is some whitespace damage on this patch? At least I couldn't apply it as is :/ Also the lack of a space after the final comma on the line above looks suspicious too... have you tried running scripts/checkpatch.pl on the resulting diffs? > + > /* Calculate checksum */ > tmp = 0; > tmpptr = (uint8_t *)header; Apart from the whitespace issues, the basic patch looks fine though. ATB, Mark.
On 16/02/14 23:13, Olivier Danet wrote: > Ping. > Repost ! > > On 30/12/2013 15:02, Artyom Tarasenko wrote: >> On Mon, Dec 30, 2013 at 12:51 AM, Olivier Danet <odanet@caramail.com> >> wrote: >>> On SparcStations, the HostID field in the NVRAM is equal to the >>> last three bytes of the MAC address (which is also stored in the NVRAM). >>> >>> This constant is used as an identification/serial number on Solaris. >>> >>> signed-off-by : Olivier Danet <odanet@caramail.com> >> Corresponds with http://www.squirrel.com/squirrel/sun-nvram-hostid.faq >> and Solaris 9 detects the hostid after this patch fine, so >> >> Reviewed-by: Artyom Tarasenko <atar4qemu@gmail.com> >> >>> --- >>> include/hw/nvram/openbios_firmware_abi.h | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/include/hw/nvram/openbios_firmware_abi.h >>> b/include/hw/nvram/openbios_firmware_abi.h >>> index 5e6e5d4..492c8d5 100644 >>> --- a/include/hw/nvram/openbios_firmware_abi.h >>> +++ b/include/hw/nvram/openbios_firmware_abi.h >>> @@ -62,6 +62,8 @@ Sun_init_header(struct Sun_nvram *header, const >>> uint8_t >>> *macaddr, int machine_id >>> header->type = 1; >>> header->machine_id = machine_id & 0xff; >>> memcpy(&header->macaddr, macaddr, 6); >>> + memcpy(&header->hostid , &macaddr[3],3); >>> + >>> /* Calculate checksum */ >>> tmp = 0; >>> tmpptr = (uint8_t *)header; >>> -- Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> I've applied this to my qemu-sparc branch. ATB, Mark.
diff --git a/include/hw/nvram/openbios_firmware_abi.h b/include/hw/nvram/openbios_firmware_abi.h index 5e6e5d4..492c8d5 100644 --- a/include/hw/nvram/openbios_firmware_abi.h +++ b/include/hw/nvram/openbios_firmware_abi.h @@ -62,6 +62,8 @@ Sun_init_header(struct Sun_nvram *header, const uint8_t *macaddr, int machine_id header->type = 1; header->machine_id = machine_id & 0xff; memcpy(&header->macaddr, macaddr, 6); + memcpy(&header->hostid , &macaddr[3],3); + /* Calculate checksum */ tmp = 0;