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

Reply via email to