URL: <http://savannah.gnu.org/bugs/?50931>
Summary: Page Fault Exception when grub loads with an Nvidia cards Project: GNU GRUB Submitted by: nzimmer Submitted on: Wed 03 May 2017 04:32:30 PM UTC Category: Booting Severity: Major Priority: 5 - Normal Item Group: Software Error Status: None Privacy: Public Assigned to: None Originator Name: Nathan Zimmer Originator Email: nathan.zim...@hpe.com Open/Closed: Open Discussion Lock: Any Release: Release: Git master Reproducibility: Every Time Planned Release: None _______________________________________________________ Details: On some of our uv systems with nvidia card grub takes a Page Fault Exception. After some digging it was discovered that the efi_uga module is not able to handle a framebuffer at a 64-bit address. In find_card (grub_pci_device_t dev, grub_pci_id_t pciid, void *data) the 64-bit VMEM bar in base64 is correctly calculated. The problem is that *ctx->fb_base is type grub_uint32_t, but base64 is type grub_uint64_t. So grub is storing a 64-bit framebuffer pointer into a 32-bit field, truncating off the high bits, and leaving zeros. This size mismatch goes all the way back up the call chain: find_line_len()->find_card()->find_framebuf()->check_protocol(). _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?50931> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-grub mailing list Bug-grub@gnu.org https://lists.gnu.org/mailman/listinfo/bug-grub