On Sun, Aug 23, 2009 at 04:03:40AM +0800, Jason Wang wrote:
Hi all, I am trying to debug why the grub crashed (under usbrom) after loading certain blocks into the memory. My new found is that while usbrom is trying to load (block lba=0x0019a9e0). it crashed. the flow is usb_new_read(0,0x0019a9e0,0x20,0xfffa2000), 0x20 is the count which should be read, and the 0xfffa2000 is the virtual address of (0x70000). usb_new_read call readwrite_blocks then execute_command. after executed wrap_cbw in execute_command. it should call dev->controller->bulk, this address is a wrong address. my debug information are below:
Where in memory is "dev->controller->bulk"? You way want to check if its contents were overwritten by something (eg, grub, linux, seabios, or a data block loaded by the usb rom).
-Kevin