restore patches lost when merging NMU diff
[debian/elilo] / ia64 / plain_loader.c
index 92d009ef78b5ed7ee4c914fcfe60a43c66e4cf62..ad38885f8f49e66a223e0bf41e38294cfa2122b3 100644 (file)
@@ -288,7 +288,7 @@ load_elf(fops_fd_t fd, kdesc_t *kd)
        if (alloc_kmem(low_addr, pages) == -1) {
                VOID *new_addr;
 
-               ERR_PRT((L"%s : AllocatePages(%d, 0x%lx) for kernel failed\n", LD_NAME, pages, low_addr));
+               VERB_PRT(1, Print(L"%s : AllocatePages(%d, 0x%lx) for kernel failed\n", LD_NAME, pages, low_addr));
 
                if (ia64_can_relocate() == 0) {
                        ERR_PRT((L"relocation is disabled, cannot load kernel"));
@@ -387,6 +387,8 @@ load_elf(fops_fd_t fd, kdesc_t *kd)
                ret = read_file(fd, filesz, (CHAR8 *)phdrs[i].p_paddr);
                if (ret == ELILO_LOAD_ABORTED) goto load_abort;
                if (ret == ELILO_LOAD_ERROR) goto out;
+               if (bswap32(phdrs[i].p_flags) & PF_X)
+                       flush_dcache ((CHAR8 *)phdrs[i].p_paddr, filesz);
 
                /*
                 * update file position