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 <oda...@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 <oda...@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 <atar4q...@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-ayl...@ilande.co.uk>

I've applied this to my qemu-sparc branch.


ATB,

Mark.

Reply via email to