* include/grub/net.h (grub_net_card): New member txbufsize.

* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
	* grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
	txbufsize.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
	compatible property to check for macs. Set
	GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
	GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
	* grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
	if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
	(send_card_buffer): Use txbuf.
	(grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
	nested function out of the parent while on it.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2012-06-19 11:34:52 +02:00
parent cc35fe8f31
commit 0494408e7e
6 changed files with 164 additions and 81 deletions

View file

@ -117,7 +117,11 @@ enum grub_ieee1275_flag
*/
GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS,
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS,
GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX,
GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN
};
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);

View file

@ -129,6 +129,7 @@ struct grub_net_card
void *txbuf;
void *rcvbuf;
grub_size_t rcvbufsize;
grub_size_t txbufsize;
int txbusy;
union
{