63 |
if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_PARTITION_0)) |
if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_PARTITION_0)) |
64 |
grub_strcat (devpath, ":0"); |
grub_strcat (devpath, ":0"); |
65 |
|
|
66 |
|
grub_dprintf ("disk", "Opening `%s'.\n", devpath); |
67 |
|
|
68 |
grub_ieee1275_open (devpath, &dev_ihandle); |
grub_ieee1275_open (devpath, &dev_ihandle); |
69 |
if (! dev_ihandle) |
if (! dev_ihandle) |
70 |
{ |
{ |
71 |
grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Can't open device"); |
grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Can't open device"); |
72 |
goto fail; |
goto fail; |
73 |
} |
} |
74 |
|
|
75 |
|
grub_dprintf ("disk", "Opened `%s' as handle 0x%x.\n", devpath, dev_ihandle); |
76 |
|
|
77 |
if (grub_ieee1275_finddevice (devpath, &dev)) |
if (grub_ieee1275_finddevice (devpath, &dev)) |
78 |
{ |
{ |
79 |
grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Can't read device properties"); |
grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Can't read device properties"); |
116 |
static void |
static void |
117 |
grub_ofdisk_close (grub_disk_t disk) |
grub_ofdisk_close (grub_disk_t disk) |
118 |
{ |
{ |
119 |
|
grub_dprintf ("disk", "Closing handle 0x%x.\n", |
120 |
|
(grub_ieee1275_ihandle_t) disk->data); |
121 |
grub_ieee1275_close ((grub_ieee1275_ihandle_t) disk->data); |
grub_ieee1275_close ((grub_ieee1275_ihandle_t) disk->data); |
122 |
} |
} |
123 |
|
|
129 |
int actual; |
int actual; |
130 |
unsigned long long pos; |
unsigned long long pos; |
131 |
|
|
132 |
|
grub_dprintf ("disk", |
133 |
|
"Reading handle 0x%x: sector 0x%lx, size 0x%lx, buf %p.\n", |
134 |
|
(grub_ieee1275_ihandle_t) disk->data, sector, size, buf); |
135 |
|
|
136 |
pos = (unsigned long long) sector * 512UL; |
pos = (unsigned long long) sector * 512UL; |
137 |
|
|
138 |
grub_ieee1275_seek ((grub_ieee1275_ihandle_t) disk->data, (int) (pos >> 32), |
grub_ieee1275_seek ((grub_ieee1275_ihandle_t) disk->data, (int) (pos >> 32), |