Print this page
12195 acpidump failed under EFI

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/i86pc/dboot/dboot_elfload.c
          +++ new/usr/src/uts/i86pc/dboot/dboot_elfload.c
↓ open down ↓ 16 lines elided ↑ open up ↑
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  
  22   22  /*
  23   23   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  24   24   * Use is subject to license terms.
  25   25   */
  26   26  
       27 +/*
       28 + * Copyright 2020 Joyent, Inc.
       29 + */
  27   30  
  28   31  #include <sys/types.h>
  29   32  #include <sys/inttypes.h>
  30   33  #include <sys/systm.h>
  31   34  #include <sys/elf.h>
  32   35  #include <sys/elf_notes.h>
  33   36  
  34   37  #include <util/memcpy.h>
  35   38  
  36   39  #include "dboot_xboot.h"
↓ open down ↓ 138 lines elided ↑ open up ↑
 175  178  
 176  179          /*
 177  180           * Next look for bss
 178  181           */
 179  182          for (i = 0; i < eh->e_shnum; i++) {
 180  183                  shdr = (Elf64_Shdr *)(sechdrs + eh->e_shentsize * i);
 181  184  
 182  185                  /* zero out bss */
 183  186                  if (shdr->sh_type == SHT_NOBITS) {
 184  187                          if (prom_debug)
 185      -                                dboot_printf("zeroing BSS %lu bytes from "
      188 +                                dboot_printf("zeroing BSS %ld bytes from "
 186  189                                      "physaddr 0x%" PRIx64
 187  190                                      " (end=0x%" PRIx64 ")\n",
 188  191                                      (ulong_t)shdr->sh_size,
 189  192                                      next_addr,
 190  193                                      next_addr + shdr->sh_size);
 191  194                          (void) memset((void *)(uintptr_t)next_addr, 0,
 192  195                              shdr->sh_size);
 193  196                          break;
 194  197                  }
 195  198          }
 196  199  
 197  200          /*
 198  201           * Ignore the intepreter (or should we die if there is one??)
 199  202           */
 200  203          return (0);
 201  204  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX