[Skiboot] [PATCH 0/8] reduce instructions required to boot

Nicholas Piggin npiggin at gmail.com
Sun Apr 28 00:44:51 AEST 2019


This series brings down instructions required to boot skiboot (with
mambo) from about 19 million to 3.7 million instructions, with the
QUIRK_SLOW_SIM flag turned on for that platform.

This is helpful for very slow simulators that are used in certain
test environments.

The first two patches aren't really required as part of this series,
but help squash some warnings that get introduced. The next 3 libfdt
patches are needed for doing patch 6 in a way amenable to upstream
libfdt but we could hack around it instead.

Nicholas Piggin (8):
  core/pci: pci_slot_add_loc use NUL terminated strings
  fsp/leds: improve string operations bounds checking
  build: allow per-directory flag additions and subtractions
  libfdt: upgrade to upstream dtc 5c3513f68921
  libfdt: nocompress flags
  slow sim: speed up fdt building
  slow sim: skip fast reboot checksum
  libc/string: speed up common string functions

 Makefile.rules               |    4 +-
 core/device.c                |    5 +-
 core/fdt.c                   |   12 +-
 core/init.c                  |    8 +-
 core/pci-slot.c              |    8 +-
 core/test/stubs.c            |    2 +-
 hw/fsp/fsp-leds.c            |   31 +-
 libc/include/limits.h        |    3 +
 libc/include/string.h        |   43 +-
 libc/string/Makefile.inc     |    4 +-
 libc/string/memchr.c         |    7 +-
 libc/string/memcmp.c         |    7 +-
 libc/string/memcpy.c         |   27 +-
 libc/string/memcpy_from_ci.c |    4 +-
 libc/string/memmove.c        |   28 +-
 libc/string/memset.c         |    8 +-
 libc/string/strcasecmp.c     |    5 +-
 libc/string/strcat.c         |    8 +-
 libc/string/strchr.c         |    6 +-
 libc/string/strcmp.c         |    7 +-
 libc/string/strcpy.c         |    6 +-
 libc/string/strdup.c         |    4 +-
 libc/string/strlen.c         |   10 +-
 libc/string/strncasecmp.c    |    6 +-
 libc/string/strncmp.c        |    7 +-
 libc/string/strncpy.c        |    6 +-
 libc/string/strrchr.c        |   28 +
 libc/string/strstr.c         |    8 +-
 libc/string/strtok.c         |    6 +-
 libc/test/run-memops-test.c  |    7 +
 libc/test/run-memops.c       |    7 +
 libfdt/.gitignore            |    1 +
 libfdt/Makefile.inc          |   14 +-
 libfdt/Makefile.libfdt       |   12 +-
 libfdt/README.skiboot        |    9 +
 libfdt/fdt.c                 |  142 ++++-
 libfdt/fdt.h                 |   99 ++-
 libfdt/fdt_addresses.c       |  144 +++++
 libfdt/fdt_empty_tree.c      |   83 +++
 libfdt/fdt_overlay.c         |  916 +++++++++++++++++++++++++++
 libfdt/fdt_ro.c              |  632 +++++++++++++++----
 libfdt/fdt_rw.c              |  174 +++---
 libfdt/fdt_strerror.c        |   10 +-
 libfdt/fdt_sw.c              |  230 +++++--
 libfdt/fdt_wip.c             |   45 +-
 libfdt/libfdt.h              | 1132 ++++++++++++++++++++++++++++++----
 libfdt/libfdt_env.h          |  143 ++++-
 libfdt/libfdt_internal.h     |   34 +-
 libfdt/version.lds           |   27 +-
 49 files changed, 3613 insertions(+), 556 deletions(-)
 create mode 100644 libc/string/strrchr.c
 create mode 100644 libfdt/.gitignore
 create mode 100644 libfdt/README.skiboot
 create mode 100644 libfdt/fdt_addresses.c
 create mode 100644 libfdt/fdt_empty_tree.c
 create mode 100644 libfdt/fdt_overlay.c

-- 
2.20.1



More information about the Skiboot mailing list