[PATCH V3 2/3] Add support for avoiding firmware in relocations

2012-02-08 Thread Matthew Garrett
EFI and OF both support firmware regions which may be in use during loading. Add support for avoiding these. --- ChangeLog| 10 + grub-core/lib/efi/relocator.c| 51 ++ grub-core/lib/ieee1275/relocator.c |

Re: [PATCH V3 2/3] Add support for avoiding firmware in relocations

2012-02-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
On 08.02.2012 17:55, Matthew Garrett wrote: EFI and OF both support firmware regions which may be in use during loading. +unsigned +grub_relocator_firmware_overlaps (grub_phys_addr_t target, grub_size_t size) +{ + grub_efi_uintn_t mmapsize = 0, desc_size = 0; + grub_efi_uint32_t descriptor_ver

Re: [PATCH V3 2/3] Add support for avoiding firmware in relocations

2012-02-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
On 08.02.2012 17:55, Matthew Garrett wrote: +if (type == GRUB_MEMORY_AVAILABLE) + return 0; + +if (target>= addr&& target<= end) + overlap = 1; + +if (target + size>= addr&& target + size<= end) + overlap = 1; This won't work. IEEE1275 declares only one type of memory

Re: [PATCH V3 2/3] Add support for avoiding firmware in relocations

2012-02-08 Thread Vladimir 'φ-coder/phcoder' Serbinenko
On 08.02.2012 17:55, Matthew Garrett wrote: EFI and OF both support firmware regions which may be in use during loading. Add support for avoiding these. Also Seth Goldberg noticed that using chunk_align with start=end=target does exactly what we want (as if avoid=1). You may need to modify efi/