=== modified file 'ChangeLog' --- ChangeLog 2013-08-14 09:10:09 +0000 +++ ChangeLog 2013-08-14 13:35:34 +0000 @@ -1,3 +1,8 @@ +2013-08-14 Avik Sil + + * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when + using qemu. + 2013-08-14 Vladimir Serbinenko * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path === modified file 'grub-core/net/drivers/ieee1275/ofnet.c' --- grub-core/net/drivers/ieee1275/ofnet.c 2013-04-13 18:12:11 +0000 +++ grub-core/net/drivers/ieee1275/ofnet.c 2013-08-14 13:30:17 +0000 @@ -202,6 +202,8 @@ struct grub_net_card *card; grub_ieee1275_phandle_t devhandle; grub_net_link_level_address_t lla; + grub_ssize_t prop_size; + grub_uint8_t prop_array[8], *pprop; char *shortname; if (grub_strcmp (alias->type, "network") != 0) @@ -235,16 +237,20 @@ card->mtu = t; } + pprop = &prop_array[0]; if (grub_ieee1275_get_property (devhandle, "mac-address", &(lla.mac), 6, 0) && grub_ieee1275_get_property (devhandle, "local-mac-address", - &(lla.mac), 6, 0)) + pprop, 8, &prop_size)) { grub_error (GRUB_ERR_IO, "Couldn't retrieve mac address."); grub_print_error (); return 0; } + if (prop_size == 8) { + grub_memcpy(&lla.mac, &prop_array[2], 6); + } lla.type = GRUB_NET_LINK_LEVEL_PROTOCOL_ETHERNET; card->default_address = lla;